“线程中的异常”;“主要”;我的测试中的java.lang.NoClassDefFoundError
我知道这个问题已经问过很多次了,但我想不出来( 我有一个大项目,结构如下:“线程中的异常”;“主要”;我的测试中的java.lang.NoClassDefFoundError,java,noclassdeffounderror,Java,Noclassdeffounderror,我知道这个问题已经问过很多次了,但我想不出来( 我有一个大项目,结构如下: Project - build - Config - src - tst - build.xml - webapp - eclipse-bin tst/com/myspace/gateway/content/restlet/SanityTest.java下有一个java文件 在java文件中: package com.mys
Project - build
- Config
- src
- tst
- build.xml
- webapp
- eclipse-bin
tst/com/myspace/gateway/content/restlet/SanityTest.java下有一个java文件
在java文件中:
package com.myspace.gateway.content.restlet;
...
public class SanityTest extends ContentGatewayRestletResourceTestCase {
...
public static void main() {
}
}
整个项目编译后,SanityTest的类文件处于build/private/classes/tests/com/myspace/gateway/content/restlet/SanityTest.class下
我进入build/private/classes/tests并运行了“java-cp.com.myspace.gateway.content.restlet.SanityTest”,但得到了NoClassDefFoundError
请帮帮我
附言:
堆栈跟踪:
Exception in thread "main" java.lang.NoClassDefFoundError: com/myspace/gateway/content/ContentGatewayTestCase
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.myspace.gateway.content.ContentGatewayTestCase
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 24 more
Could not find the main class: com.myspace.gateway.content.restlet.SanityTest. Program will exit.
你跑了
java -cp . com/myspace/gateway/content/restlet/SanityTest
你应该跑:
java -cp . com.myspace.gateway.content.restlet.SanityTest
阅读此问答了解更多详细信息:
更新 根据stacktrace,问题在于Java找不到
ContentGatewayTestCase
类。据推测,这是您的SanityTest
类所依赖的类。但是,源代码片段显示SanityTest
扩展了ContentGatewayRestleResourceTestCase
。您需要弄清楚如果ContentGatewayTestCase
依赖项正确:
- 如果是,则相应的“.class”文件需要与“SanityTest.class”文件位于同一目录中
- 无论哪种方式,您可能在编译代码的方式上有问题