Java从命令行运行:类路径包括文件夹和子文件夹

Java从命令行运行:类路径包括文件夹和子文件夹,java,command-line,classpath,Java,Command Line,Classpath,我在问一个基本的Java问题。我需要在服务器上运行我的Java程序,所以我必须从cmmand行执行它。问题是我得到了一份工作 java.lang.NoClassDefFoundError: utils/Compare 我在跑步 java -cp bin:../../lib/*:../../bin/* Test bin和.././lib/*中的所有内容都可以识别,因此可以识别,但.././bin/中的类不能识别,因为它们有多个子文件夹。它正在抱怨子文件夹中的类。事实上,如果我特别在类路径中包含

我在问一个基本的Java问题。我需要在服务器上运行我的Java程序,所以我必须从cmmand行执行它。问题是我得到了一份工作

java.lang.NoClassDefFoundError: utils/Compare
我在跑步

java -cp bin:../../lib/*:../../bin/* Test
bin和.././lib/*中的所有内容都可以识别,因此可以识别,但.././bin/中的类不能识别,因为它们有多个子文件夹。它正在抱怨子文件夹中的类。事实上,如果我特别在类路径中包含该子文件夹

java -cp bin:../../lib/*:../../bin/utils/* Test
它也不起作用。所有的类都在那里,路径都是正确的。我用ant编译它,编译过程正常

截止日期:

/评估:/bin

/../../Evaluation:/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。你能在你的问题中提供相关信息吗?你能详细说明你的文件夹结构吗?你真的有两个垃圾箱文件夹吗?嗨,我刚更新@我有两个箱子,因为第二个是要评估的临时项目。第一个。谢谢,你暗示我要解决这个问题。这是一个冒号,但我错过了最后一个。