【问题标题】:Why when I run my chess project as a runnable jar file I get a strange behavior while when I run it inside eclipse everything works just fine?为什么当我将我的国际象棋项目作为可运行的 jar 文件运行时,我得到一个奇怪的行为,而当我在 eclipse 中运行它时,一切正常?
【发布时间】:2012-05-11 04:32:22
【问题描述】:

有一天,我决定通过构建一个简单的国际象棋游戏来测试我的 Java 技能。我花了一些时间,过了一会儿我完成了。现在问题从这里开始:我想把我的游戏发给我的朋友,所以我通过 Eclipse 创建了一个可运行的 jar 文件。令人惊讶的是,可运行 jar 文件中的游戏显示了一些奇怪的行为,例如 Pieces 出现在它们不应该出现的地方以及一些其他奇怪的错误,但没有任何例外。当我意识到当我在 Eclipse 中运行项目时,我更加惊讶了,一切都像它应该的那样工作。我也尝试通过Eclipse创建一个普通的jar文件并运行它,但是我得到了以下NPE错误:

01/05/12 19:47:30.433 [0x0-0x54054].com.apple.JarLauncher: Exception in thread "main" 

01/05/12 19:47:30.498 [0x0-0x54054].com.apple.JarLauncher: java.lang.NullPointerException

01/05/12 19:47:30.498 [0x0-0x54054].com.apple.JarLauncher:  at sun.launcher.LauncherHelper.getMainClassFromJar(LauncherHelper.java:399)

01/05/12 19:47:30.498 [0x0-0x54054].com.apple.JarLauncher:  at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:463)

我已经在这个网站上发布了一个关于此的问题,但我没有得到正确的答案,所以我也发布了这个问题。这是另一个问题的链接:Getting a strange behavior when creating a runnable jar file on eclipse for my Chess project

【问题讨论】:

  • Eclipse 在幕后做着没有它就无法复制的事情。你需要弄清楚那些是什么。
  • 你的主类配置正确了吗?
  • SO 上的其他人也有类似的问题; stackoverflow.com/questions/7368349/… 有用吗?
  • 在 Eclipse 上,您不必自己配置 Main 类,您只需从列表中选择它即可。而且我不确定另一个问题是否有帮助,因为我在创建可运行的 jar 文件时没有收到错误。
  • 你使用的是同一个版本的JDK和JRE吗?

标签: java jar export nullpointerexception


【解决方案1】:

您应该在可执行 jar 中包含以下清单标头:

Main-Class: classname

您可以在从 eclipse 中导出 jar 时自动执行此操作,方法是在导出 jar 向导中选择一个主类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2021-05-12
    • 1970-01-01
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多