我正在构建胖罐,其中包含一些我想从命令行运行的集成测试。 我希望能够执行以下操作:
java -cp myfat.jar org.junit.runner.JUnitCore path.to.MyTest
但是,当我这样做时,我会得到:
Error: Could not find or load main class org.junit.runner.JUnitCore
现在,当我跑步时:
javap -cp myfat.jar org.junit.runner.JUnitCore
我得到了我期望的输出:
Compiled from "JUnitCore.java"
public class org.junit.runner.JUnitCore {
public org.junit.runner.JUnitCore();
public static void main(java.lang.String...);
...
当我简单地解压缩jar并从解压缩到的目录中运行以下内容时,我的测试运行良好:
java -cp . org.junit.runner.JUnitCore path.to.MyTest
为什么“ javap”可以在我的jar中找到类,但不能在“ java”中找到类?接下来,我可以尝试什么进行调试?