我是GATE Embedded的新手,我尝试了简单的示例并获取NoClassDefFoundError。
首先,我将解释我尝试过的
在D:\ project \ gate-7.0中下载并提取Gate 7.0
Netbean创建新项目->添加了库gate.jar和lib文件夹
试图执行简单的Java代码
public static void main(String args[]) throws GateException, IOException
{
// initialise the GATE library
Out.prln("Initialising GATE...");
Gate.init();
Out.prln("...GATE initialised");
}
运行时出现错误
Initialising GATE...
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at gate.Gate.<clinit>(Gate.java:83)
at gatedemo.StandaloneDemo.main(StandaloneDemo.java:84)
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
我认为错误与类路径有关。
最佳答案
Netbean创建新项目->添加了库gate.jar和lib文件夹
您需要应用程序的类路径包含lib
文件夹内的所有JAR文件,而不是文件夹本身。
请注意,修复此问题后,您可能会收到一条警告,指出GATE“无法初始化Log4J”-为避免这种情况,请将GATE的bin
目录也添加到应用程序的类路径中,或者将create your own log4j.properties
添加到项目的顶级src目录中,或者加
org.apache.log4j.BasicConfigurator.configure();
在
main
方法的顶部。附言我也建议您使用较新的GATE(7.1或当前快照),除非您有特定的原因必须使用旧版本。
关于java - GATE嵌入式示例NoClassFound错误示例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20046692/