更改包名后,我在Eclipse上得到了java.lang.ClassNotFoundException

时间:2013-08-23 19:45:37

标签: java eclipse packages

我在Eclipse上创建了一个小型Java项目,其中有两个类位于(默认包)中。 一切正常,但是当我尝试使用相同的两个类(每个包中都有包名称语句)创建一个新包(比如说net.server)时,我得到了:

Exception in thread "main" java.lang.ClassNotFoundException: MyClassName

我对Java和Eclipse没有经验,我不知道造成这种情况的原因。

3 个答案:

答案 0 :(得分:4)

我尝试删除旧的运行配置:从菜单中选择运行> 运行配置,在左侧找到您的配置,选择它并点击其上方的删除按钮,最后重新运行您的应用程序。

答案 1 :(得分:1)

您可能没有在主文件(运行main方法的人)中更新导入。 ClassNotFoundException表示在给定当前指令的情况下,类加载器无法找到某个类。

Eclipse应该向您发送一个警告(以红色突出显示违规导入)。要直接组织给定文件的导入,请在编辑时使用Ctrl + Shift + O快捷方式。

答案 2 :(得分:1)

  • 从不 建议不要使用默认包。作为标准,根包以项目命名(例如,如果项目是 net.server.project ,则根包具有相同的名称)
  • 请注意Eclipse在移动重构方面存在问题(我不知道这是否在Kepler 4.3中得到修复)
  • 由于您只有两个类,我建议您从头开始创建这两个类,并手动将旧功能从新功能复制到新类中。这是确保一切正常的最安全的方法。
  • 哦,我希望您的 src 文件夹是源文件夹,而不是常规文件夹。