【发布时间】:2014-02-20 22:41:35
【问题描述】:
我在问一个基本的 Java 问题。我需要在服务器上运行我的 Java 程序,所以我必须从命令行执行它。问题是我得到了一个
java.lang.NoClassDefFoundError: utils/Compare
我在跑步
java -cp bin:../../lib/*:../../bin/* Test
bin 和 ../../lib/* 中的所有内容都可以识别,因此可以,但 ../../bin/ 中的类没有,因为它有多个子文件夹。它抱怨子文件夹中的一个类。事实上,如果我特别在类路径中包含该子文件夹
java -cp bin:../../lib/*:../../bin/utils/* Test
它也不起作用。所有的类都在那里,路径是正确的。我用ant编译,编译成功。
更新日期:
/评估:/bin
/../../评估:/bin/utils、bin/documents等
它所抱怨的类 Compare.class 就在 utils 中
提前谢谢你。
阿尔托伯
解决方案:
我错过了应该是的最后一个冒号
java -cp bin:../../lib/*:../../bin/: Test
【问题讨论】:
-
我认为包含类文件的文件夹应该指定为
../../bin/utils/(无通配符)。 -
谢谢,但还是不行
-
检查包声明,并确保根在类路径中。如果你的类是
com.foo.bar.MyClass,文件夹结构是bin/com/foo/bar/MyClass.class,那么你的类路径中需要有bin。您能否在您的问题中提供相关信息? -
能否详细说明您的文件夹结构?你真的有两个
bin文件夹吗? -
您好,我刚刚更新了。 @Katona 我有两个箱子,因为第二个是要评估的临时项目。第一个。
标签: java command-line classpath