所以我尝试了该网站上提供的许多解决方案,但没有一个可以帮助我。
问题: 我的项目文件结构如下:
cnv/webserver/aplication/insProj.java
cnv/webserver/aplication/IntFactorization.java
两者都在 webserver.aplication 包中。
要编译并运行我这样做: 从文件夹 cnv 开始,并使用 $CLASSPATH=/home/ll/Documents/cnv
cd webserver/aplication
javac -source 1.4 insProj.java
javac IntFactorization.java
cd ..
cd ..
java -XX:-UseSplitVerifier webserver.aplication.insProj ./webserver/aplication/IntFactorization.class
java -XX:-UseSplitVerifier webserver.aplication.IntFactorization 5
执行最后一条指令时,它返回异常:
Factoring 5...
Exception in thread "main" java.lang.NoClassDefFoundError: webserver.aplication.insProj
at webserver.aplication.IntFactorization.calcPrimeFactors(IntFactorization.java:22)
at webserver.aplication.IntFactorization.main(IntFactorization.java:59)
我正在做的检测是在执行给定方法时递增计数器,并在类结束执行时创建文件。我知道这有效,因为我已经在这些包之外进行了测试,并且它工作得很好。
最佳答案
BIT 似乎不能很好地处理包。最后,我从任何包中删除了 insProj 并将其文件夹插入到类路径中。然后就开始工作了。
关于Java包: no class def found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36337518/