【问题标题】:NoClassDefFoundError after renaming a package重命名包后出现 NoClassDefFoundError
【发布时间】:2015-05-12 17:03:09
【问题描述】:

我正在使用 Netbeans 编写一个简单的应用程序;在创建一个新的 Java 项目时,我使用 Netbeans 的重命名功能将自动创建的包从 oldpackage 重命名为 newpackage(即使用 Refactor > Rename...)

当我运行程序时,我得到了这个异常:

    java.lang.NoClassDefFoundError: oldpackage/Main
Caused by: java.lang.ClassNotFoundException: oldpackage.Main
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: oldpackage.Main.  Program will exit.
Exception in thread "main" Java Result: 1

我在 Google 上进行了一些搜索,但找不到明显的解决方法 - 有人可以帮忙吗?

【问题讨论】:

  • 尝试清理并再次构建项目。如果问题仍然存在,请尝试在文件中搜索 oldpackage
  • 清洁和建筑是我做的第一件事
  • 如果您只是单击一个按钮来运行程序,请尝试查看运行配置或设置以确保您的项目和主类正确/更新。
  • 谢谢 Ryan 运行配置设置为旧包

标签: java exception netbeans noclassdeffounderror


【解决方案1】:

在gradle文件中更改包名applicationId。清理并重新打开您的项目

【讨论】:

    【解决方案2】:

    有些事情你必须检查。这些是:

    1. 从 menifest.xml 和 build.gradle 这两个文件中检查您的应用程序包名称。
    2. 使用完整路径检查清单活动名称。如果活动路径不正确,请更正它。
    3. 如果问题未解决,则执行 File--> Invalidate Cache / Restart 。希望问题能解决。
    4. 如果问题未解决,则删除 build 文件夹并重建项目。现在你的问题就解决了。

    谢谢:)

    【讨论】:

      【解决方案3】:

      我在 Android Studio 上处理 libGDX 项目,我想将包文件夹从 lowercase 重命名为 CamelCase,我重构了所有内容,但是我在我删除位于项目中的构建文件夹之前,无法毫无问题地启动项目:

      core/build

      【讨论】:

        猜你喜欢
        • 2013-04-25
        • 1970-01-01
        • 2017-07-24
        • 2016-06-28
        • 2016-02-15
        • 2015-06-13
        • 2013-09-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多