门设置:官方TestGate.java无法运行

时间:2012-06-11 11:20:49

标签: java gate

对Gate来说,对Java和Eclipse来说实际上也不老;并且想要运行第一次安装测试。

我做了什么:

  1. 下载gate-7.0-build4195-ALL并将其解压缩到C:\

  2. 将环境变量CLASSPATH更改为“。;%JAVA_HOME%\ lib;%JAVA_HOME%\ lib \ tools.jar; C:\ gate-7.0-build4195-ALL \ bin \ gate.jar; C:\栅极 - 7.0-build4195-ALL \ lib中“

  3. 在eclipse中创建了一个新的java项目,并导航到gate.jar \ gate \ TestGate.class并运行它。

  4. 然后我收到以下错误:

    Failed to invoke suite(): java.lang.NoClassDefFoundError: org/apache/log4j/Logger
    java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at     org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:108)
        at     org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
        at gate.Gate.<clinit>(Gate.java:83)
        at gate.TestGate.suite(TestGate.java:126)
        ... 10 more
    Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 12 more
    

    我错过了什么吗? 谢谢

2 个答案:

答案 0 :(得分:1)

您不应该设置CLASSPATH环境变量。如果要在Eclipse项目中使用JAR文件,则应将它们添加到项目的构建路径中。

对于GATE,您需要bin/gate.jar以及lib中的所有JAR文件,但您在构建路径上不需要lib目录。

答案 1 :(得分:0)

我在java中使用带有netbeans的GATE API,当我使用junit集成测试时,我遇到了这个错误。诀窍是在没有测试的情况下构建项目,一旦构建完成,您可以像使用GATE一样运行测试。

例如我在测试函数的开头有这个:

@Test
public void test()
{
        if(false)
        {
            assertEquals(true, true);
            return;
        }

        ...
        Testing GATE

要在没有测试的情况下构建jar,您只需要设置为true。这似乎与GATE使用的jar的类路径有关。