有一天,我决定通过建立一个简单的国际象棋游戏来测试我的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。
答案 0 :(得分:0)
您应该在可执行jar中有以下清单标头:
Main-Class: classname
通过在导出jar向导中选择一个主类,可以在从eclipse导出jar时自动执行此操作。