【问题标题】:Broken Eclipse project - classNotFoundException - could not find main class损坏的 Eclipse 项目 - classNotFoundException - 找不到主类
【发布时间】:2012-08-20 12:37:29
【问题描述】:

我有一个在 Ubuntu 12.04 上使用 Eclipse 3.7.2 开发的项目。最近,我重组了涉及在包之间移动类的类层次结构。我没有移动我的主类(“ob3.converter.Converter”),其中包含我的public static void main(String[] args) 方法。

现在,当我尝试运行它时,我得到:

Exception in thread "main" java.lang.NoClassDefFoundError: ob3/converter/Converter
Caused by: java.lang.ClassNotFoundException: ob3.converter.Converter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: ob3.converter.Converter. Program will exit.

我只真正使用过 Eclipse(在 java 中),它为我处理所有开销 - 因此我对这个错误或可能导致它的原因知之甚少。我已经查看了我的运行配置/类路径等,但不知道要寻找什么,但毫无结果。

谁能指出我正确的方向?我用谷歌搜索/搜索了 SO,大多数事情都在谈论清单文件,但我无法在任何地方找到它。我的工作区文件夹只包含我的源文件。

我可以验证:

  • “转换器”类存在于“ob3.converter”包中。
  • “转换器”类包含一个public static void main(String[] args) 方法。
  • 项目属性中 Java 构建路径页面上的“源”选项卡显示“converter/lib”和“converter/src” - 这两个文件夹包含我的整个项目源。
  • 在运行配置/JRE 中使用的 JRE 是“java-6-openjdk-amd64”。
  • 运行配置中的 ClassPath 选项卡如下所示:
    • Boostrap 条目:
      • JRE 系统库 [java-6-openjdk-amd64]
    • 用户条目:
      • 转换器(默认类路径)
        • 转换器
  • Converter.java 的路径自我上次成功运行以来一直没有改变。

非常感谢任何帮助!

【问题讨论】:

  • 如果您可以张贴您的 Eclipse 的屏幕截图,其中扩展了包结构并在编辑器中打开了 Converter 类。您的项目是否在包资源管理器中显示任何错误? “问题”视图中是否有任何错误?
  • 您是否尝试过处理“混乱”的 Eclipse 工作区的标准技巧?刷新 (F5) 工作区。重新启动 Eclipse。关闭/打开项目。删除项目(不要检查从磁盘中删除!!!)然后重新导入。
  • 当您说运行时,我假设您正在单击顶部的运行图标。尝试在包视图中右键单击 Converter 类并选择 run as -> java application。
  • 尝试检查项目的运行配置?如果一个项目包含多个带有 main 方法的类,您必须从运行配置中选择应该执行哪个类的 main 方法。
  • 大家好,谢谢您的建议。关闭/重新打开项目从项目图标中删除了红色感叹号。刷新项目,重新启动 Eclipse 并重新启动机器似乎没有任何改变。删除项目并重新导入即可解决问题!!!谢谢斯蒂芬 C - 将其发布为答案,我会接受它:)

标签: java eclipse noclassdeffounderror classnotfoundexception


【解决方案1】:

我认为你应该重建你的项目。你可以通过点击 Projects > Clean...

有时 Eclipse 的自动构建在重构或移动类时会出现问题。

【讨论】:

    【解决方案2】:

    我遇到了同样的错误消息。对我来说,我在 linux 上,发出 java 命令的用户对类路径上的 jar 目录没有足够的权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多