我是GATE Embedded的新手,我尝试了简单的示例并获得了NoClassDefFoundError。 首先,我将解释我尝试过的内容
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
我认为错误与classpath有关。
答案 0 :(得分:3)
Netbean创建新项目 - &gt;添加了库gate.jar和lib文件夹
您需要应用程序的类路径来包含lib
文件夹内的所有JAR文件,而不是文件夹本身。
请注意,一旦你解决了这个问题,你可能会收到一条警告,说GATE“无法初始化Log4J” - 为了避免这种情况,要么将GATE的bin
目录添加到应用程序的类路径中,create your own log4j.properties
项目的顶级src目录,或添加
org.apache.log4j.BasicConfigurator.configure();
位于main
方法的顶部。
P.S。我还建议您使用更新的GATE(7.1或当前快照),除非您有特定原因必须使用旧版本。