为什么当我将国际象棋项目作为一个可运行的jar文件运行时,我得到一个奇怪的行为,而当我在eclipse中运行它时一切正常?

时间:2012-05-01 16:57:23

标签: java jar export nullpointerexception

有一天,我决定通过建立一个简单的国际象棋游戏来测试我的Java技能。我花了一些时间,过了一会儿,我完成了它。现在问题从这里开始:我想向我的朋友发送我的游戏,所以我通过Eclipse创建了一个可运行的jar文件。令人惊讶的是,runnable 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

1 个答案:

答案 0 :(得分:0)

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

Main-Class: classname

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