无法在Vista Business上执行Java app“找不到主类…程序将退出”
我已经编写了一个Java GUI应用程序(使用Netbeans 6.7),需要Java 1.6。我成功地在我的XP PC和Mac OSX(10.5.7)上运行了它
我的客户端正在运行Vista Business,无法通过双击jar文件来运行应用程序。他可以从命令行执行它:“javaw-jar…”收到的错误是:“找不到主类……程序将退出”
我已要求客户执行以下操作:
- 安装最新的JRE
- 运行JarFix
我已经证实:
- JRE安装在正确的位置
- jar file association is correct
- 应用程序运行正常(正如我在XP和Mac OSX上测试过的,客户端可以从命令行运行)
还有什么我可以调查的吗?注意,Netbeans创建了主jar文件,以及一个包含其他几个jar文件的lib目录。我已经解压了JAR文件并检查了清单文件(看起来不错)。正确的主类也在应用程序的JAR文件中
客户端是否需要注意应用程序在Vista中的执行位置
非常感谢。 普雷姆博
# 1 楼答案
完全相同的JAR文件在其他操作系统上工作吗
JAR文件中的清单文件(META-INF/manifest.MF)正确吗?需要注意的一个问题是,清单文件必须以空行结尾;否则,清单文件中的最后一行将被忽略。例如,如果清单文件的最后一行是这样的:
如果后面没有空行,那么Java将忽略该行,并且无法找到程序的主类
参见Sun's Java Tutorial about deploying Java programs in JAR files了解如何将应用程序打包到JAR中的确切细节;它还包含关于清单文件需要以空行结尾的警告
此外,请仔细检查是否使用了正确的Java版本。您使用的Java版本是否与Windows XP完全相同?试试看:
查看正在使用的Java版本