Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NetBeans在GATE上找不到build.properties_Java_Netbeans_Cygwin_Gate - Fatal编程技术网

Java NetBeans在GATE上找不到build.properties

Java NetBeans在GATE上找不到build.properties,java,netbeans,cygwin,gate,Java,Netbeans,Cygwin,Gate,我使用GATE从法语文档中提取文本。我已经在GATE GUI的Windows上遇到了TreeTagger和Cygwin的问题,我通过将下面显示的行放在系统环境中而不是C:\Cygwin\bin\sh.exe来解决;C:\cygwin\bin C:/cygwin2/bin/sh.exe;C:/cygwin2/bin并在GATE的根目录中创建了build.properties文件,并将其放在第行下方 run.shell.path: C\:\\cygwin2\\bin\\sh.exe 现在,我有我最

我使用
GATE
从法语文档中提取文本。我已经在GATE GUI的
Windows
上遇到了
TreeTagger
Cygwin
的问题,我通过将下面显示的行放在系统环境中而不是
C:\Cygwin\bin\sh.exe来解决;C:\cygwin\bin
C:/cygwin2/bin/sh.exe;C:/cygwin2/bin
并在GATE的根目录中创建了
build.properties
文件,并将其放在第行下方

run.shell.path: C\:\\cygwin2\\bin\\sh.exe
现在,我有我最喜欢的管道,它可以通过GateGUI在法语文本上正常工作。我通过“保存应用程序状态”保存了管道,我知道我想通过NetBeans加载并执行它

但是,当Netbeans初始化GATE并加载我保存的管道并添加我的语料库和文档时,它找不到POS的cygwin路径。我得到的错误=193,我猜这意味着它找不到build.properties文件路径来寻址sh.exe文件以供TreeTagger标记

这是我的代码:

public static void main(String[] args) throws Exception {

   CorpusController FrenchController;

   Gate.init();
   MainFrame.getInstance().setVisible(true);

   File GateHome = Gate.getGateHome();
   File FrenchGapp = new File(GateHome,"appTest.xgapp");
   FrenchController =   (CorpusController)PersistenceManager.loadObjectFromFile(FrenchGapp);

   Corpus corpus = Factory.newCorpus("TestCorpus");
   FrenchController.setCorpus(corpus);

   File docFile = new File("D:\\Amin\\Project\\DropBox\\Donnees\\7_doc.xml"); 
   Document doc = Factory.newDocument(docFile.toURL(), "utf-8");   //encoding

   corpus.add(doc);

   FrenchController.execute();

   corpus.clear();
} 
------------------------执行后在门上出错------------------------

C:\GATE\plugins\Tagger_Framework\resources\TreeTagger\tree-tagger-french-gate-utf8 C:\Users\Amin\AppData\Local\Temp\tagger6897917088215914126.txt
Exception in thread "main" gate.creole.ExecutionException: java.io.IOException: Cannot run program "C:\GATE\plugins\Tagger_Framework\resources\TreeTagger\tree-tagger-french-gate-utf8": CreateProcess **error=193**, %1 is not a valid Win32 application
    at gate.taggerframework.GenericTagger.runTagger(GenericTagger.java:489)
    at gate.taggerframework.GenericTagger.execute(GenericTagger.java:245)
    at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
    at gate.creole.SerialController.runComponent(SerialController.java:221)
    at gate.creole.SerialController.executeImpl(SerialController.java:153)
    at gate.creole.SerialAnalyserController.executeImpl(SerialAnalyserController.java:125)
    at gate.creole.AbstractController.execute(AbstractController.java:75)
    at secondshot.SecondShot.main(SecondShot.java:84)
Caused by: java.io.IOException: Cannot run program "C:\GATE\plugins\Tagger_Framework\resources\TreeTagger\tree-tagger-french-gate-utf8": CreateProcess error=193, %1 is not a valid Win32 application
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
    at java.lang.Runtime.exec(Runtime.java:617)
    at gate.util.ProcessManager.runProcess(ProcessManager.java:84)
    at gate.util.ProcessManager.runProcess(ProcessManager.java:66)
    at gate.taggerframework.GenericTagger.runTagger(GenericTagger.java:478)
    ... 7 more
Caused by: java.io.IOException: CreateProcess error=193, %1 is not a valid Win32 application
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:385)
    at java.lang.ProcessImpl.start(ProcessImpl.java:136)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
    ... 11 more
C:\GATE\plugins\Tagger\u Framework\resources\TreeTagger\tree-Tagger-french-GATE-utf8 C:\Users\Amin\AppData\Local\Temp\tagger68979170882159126.txt
线程“main”gate.creole.ExecutionException中出现异常:java.io.IOException:无法运行程序“C:\gate\plugins\Tagger\u Framework\resources\TreeTagger\tree-Tagger-french-gate-utf8”:CreateProcess**error=193**,%1不是有效的Win32应用程序
位于gate.taggerframework.GenericTagger.runTagger(GenericTagger.java:489)
在gate.taggerframework.GenericTagger.execute处(GenericTagger.java:245)
在gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291)
在gate.creole.SerialController.runComponent(SerialController.java:221)
位于gate.creole.SerialController.executeImpl(SerialController.java:153)
在gate.creole.SerialAnalyzerController.executeImpl(SerialAnalyzerController.java:125)
执行(AbstractController.java:75)
位于secondshot.secondshot.main(secondshot.java:84)
原因:java.io.IOException:无法运行程序“C:\GATE\plugins\Tagger\u Framework\resources\TreeTagger\tree-Tagger-french-GATE-utf8”:CreateProcess错误=193,%1不是有效的Win32应用程序
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
位于java.lang.Runtime.exec(Runtime.java:617)
在gate.util.ProcessManager.runProcess(ProcessManager.java:84)
在gate.util.ProcessManager.runProcess(ProcessManager.java:66)
位于gate.taggerframework.GenericTagger.runTagger(GenericTagger.java:478)
... 还有7个
原因:java.io.IOException:CreateProcess错误=193,%1不是有效的Win32应用程序
在java.lang.ProcessImpl.create(本机方法)
位于java.lang.ProcessImpl.(ProcessImpl.java:385)
在java.lang.ProcessImpl.start(ProcessImpl.java:136)
位于java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
... 还有11个


感谢您抽出时间

我认为,
build.properties
文件在运行GATE Developer时是只读的。请参阅文档

。。。使用“嵌入门”时,可以设置这些属性的值 在调用Gate.init()之前

在应用程序中,可以在调用
FrenchController.execute()
之前检查属性
shell.path
是否设置正确。只需调用
System.getProperty(“shell.path”)
并查看

如果不是,则可以使用

System.setProperty("shell.path", "C:\\cygwin2\\bin\\sh.exe")
在调用
FrenchController.execute()
之前,在代码中的某个地方


或者在
NetBeans
中,您可以按照以下答案中的描述进行设置:

我用倒勾突出显示了您问题中的一些关键字。非常感谢dedek。