使用外部junit.jar时出现NoClassDefFoundError问题求助
解决Java RMI测试用例NoClassDefFoundError的方向
运行时必须指定完整类路径
编译时的类路径仅负责编译环节,运行时需要重新明确类路径,必须包含编译后的类文件所在目录和JUnit依赖包。
假设编译后的.class文件都在当前目录的src/和tests/子目录下,用以下命令运行:java -cp .:dependencies/junit-4.3.jar org.junit.runner.JUnitCore tests.SingleClientTest要是编译时用
javac -d classes指定了输出目录,就把命令里的.换成classes:java -cp classes:dependencies/junit-4.3.jar org.junit.runner.JUnitCore tests.SingleClientTest注意Windows系统下类路径分隔符是
;,需把上面的:替换成;。不要直接运行测试类本身
JUnit 4的测试类没有自带main方法,直接执行tests.SingleClientTest会找不到程序入口,必须通过org.junit.runner.JUnitCore来启动测试。检查编译后的类文件是否存在
确认tests/SingleClientTest.class以及src目录下对应业务类的.class文件已生成,且文件位置和包结构对应(比如测试类属于tests包,.class文件就得在tests/子目录下)。
内容的提问来源于stack exchange,提问作者0xREDACTED
相关产品推荐
相关产品推荐

