Java 为什么当我以可运行jar文件的形式运行我的chess项目时,我会得到一个奇怪的行为,而当我在eclipse中运行它时,一切都正常?

Java 为什么当我以可运行jar文件的形式运行我的chess项目时,我会得到一个奇怪的行为,而当我在eclipse中运行它时,一切都正常?,java,jar,export,nullpointerexception,Java,Jar,Export,Nullpointerexception,有一天,我决定通过构建一个简单的国际象棋游戏来测试我的java技能。这花了我一些时间,过了一会儿我就完成了。现在问题从这里开始:我想把我的游戏发送给我的朋友,所以我通过Eclipse创建了一个可运行的jar文件。令人惊讶的是,runnable jar文件中的游戏显示了一些奇怪的行为,比如碎片出现在不应该出现的地方,以及一些其他奇怪的bug,但没有任何例外。当我意识到当我在Eclipse内部运行项目时,一切都正常工作时,我更加惊讶了。我还试图通过Eclipse创建一个普通的jar文件并运行它,但我

有一天,我决定通过构建一个简单的国际象棋游戏来测试我的java技能。这花了我一些时间,过了一会儿我就完成了。现在问题从这里开始:我想把我的游戏发送给我的朋友,所以我通过Eclipse创建了一个可运行的jar文件。令人惊讶的是,runnable jar文件中的游戏显示了一些奇怪的行为,比如碎片出现在不应该出现的地方,以及一些其他奇怪的bug,但没有任何例外。当我意识到当我在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)

我已经在这个网站上发布了一个关于这个的问题,但是我没有得到一个正确的答案,所以我也发布了这个问题。下面是另一个问题的链接:。

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

Main-Class: classname

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

eclipse在后台执行一些没有它就无法复制的操作。你需要弄清楚这些是什么。你是否正确配置了你的主类?其他人也有类似的问题;有什么用吗?在eclipse上,您不必自己配置主类,只需从列表中选择即可。我不确定另一个问题是否有用,因为我在创建可运行的jar文件时没有发现错误。您使用的是同一版本的JDK和JRE吗?