我正在使用GATE
从法语文档中提取文本。我在GATE GUI中TreeTagger
和Cygwin
上遇到了问题,我通过将下面显示的行放在系统环境而不是Windows
中解决了这个问题。
C:\Cygwin\bin\sh.exe;C:\cygwin\bin
并在GATE的根目录中创建了C:/cygwin2/bin/sh.exe;C:/cygwin2/bin
文件,并在其下面加上
build.properties
现在,我有自己喜欢的管道,它通过GATE GUI在法语文本上正常工作。我通过" Save Application state"保存了我的管道。并且知道我想通过NetBeans加载它并执行它。
但是当Netbeans初始化GATE并加载我保存的管道并添加我的语料库和文档时,它无法找到POS的cygwin路径。我得到错误= 193,因为我猜它意味着它找不到build.properties文件路径来寻址sh.exe文件以便用TreeTagger进行标记。
这是我的代码:
run.shell.path: C\:\\cygwin2\\bin\\sh.exe
------------------------执行后GATE出错------------------ ------
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();
}
感谢您的时间
答案 0 :(得分:0)
我认为,只有在运行GATE Developer时才会读取build.properties
文件。请参阅文档http://gate.ac.uk/userguide/sec:gettingstarted:sysprop
...使用GATE Embedded时,您可以设置这些属性的值 在你调用Gate.init()...
之前
在您的应用程序中,您可以在调用shell.path
之前检查属性FrenchController.execute()
是否设置正确。只需致电System.getProperty("shell.path")
,然后看看......
如果不是,您可以使用
设置属性System.setProperty("shell.path", "C:\\cygwin2\\bin\\sh.exe")
在调用FrenchController.execute()
之前,代码中的某处。
或者在NetBeans
中,您可以按照以下答案中的说明进行设置:https://stackoverflow.com/a/7839141/1857897