【问题标题】:Java run from command line: class path include folders and subfoldersJava 从命令行运行:类路径包括文件夹和子文件夹
【发布时间】: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


【解决方案1】:

您是否尝试过使用分号(而不是冒号)来分隔文件夹?我从未见过在类路径列表中使用冒号。

【讨论】:

  • 谢谢,您提示我解决方案。这是一个冒号,但我错过了最后一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-11
  • 2015-01-25
  • 1970-01-01
  • 2012-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多