【问题标题】:Java Error: Could not find or load main class. (Eclipse Juno) with packageJava 错误:无法找到或加载主类。 (Eclipse Juno) 带包
【发布时间】:2012-07-25 15:49:02
【问题描述】:

所以我在 Eclipse 中创建了一个包含包的项目。 我有几个类都在同一个包 com.example.parser 中。 在 Eclipse 中一切正常。 所以我想从命令行运行其中一个类。 如果没有包,java/javac PATH 设置正确并正常工作。 文件结构如下:

~Project/bin/com/example/parser/*.class (all class files)
~Project/src/com/example/parser/*.java (all source files)

所以在命令行中我转到 ~Project/bin/com/example/parser 提操作系统:Windows 7 Pro 命令 java ClassToRun 给出

Exception in thread "main" java.lang.NoClassDefFoundError: ClassToRun (wrong name:
com/example/parser/ClassToRun) at ... (stack trace)

所以我用谷歌搜索了一下,得出结论这是正确的命令: java -cp .;~Project/bin ClassToRun 现在我明白了:

Error: Could not find or load main class ~Project/bin

所以我无法解决这个问题......任何人都可以帮忙吗? PS:忘了说“/”应该是“\”,“~”代表前面的abs路径。 哦,是的,我刚刚更新到 jdk 1.7...

【问题讨论】:

  • 有几种方法可能会出错,并且缺少一些细节。魔鬼可能在这里的细节中。考虑提供当前的工作目录和命令行。
  • @RichardSitze:我认为这里的问题在于缺少双引号,以及分号对于 Windows 命令提示符的特殊重要性......
  • @thkala:在您的回答下发表评论。

标签: java eclipse classpath package


【解决方案1】:

您是否在命令提示符处键入了完全限定的类名?

java -cp .;~Project\bin name.of.package.Class

【讨论】:

  • 是的,感谢您的提示...整整一夜之后,我确实设置了我的 java 环境,这从未让我想到 :)
【解决方案2】:

.metadata 已损坏。

步骤:

Stop eclipse, delete .metadata in workspace and restart eclipse

Import Project

Run again

(Details)

【讨论】:

    猜你喜欢
    • 2015-02-25
    • 2023-03-27
    • 2012-06-29
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多