有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法在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) 个答案

  1. # 1 楼答案

    完全相同的JAR文件在其他操作系统上工作吗

    JAR文件中的清单文件(META-INF/manifest.MF)正确吗?需要注意的一个问题是,清单文件必须以空行结尾;否则,清单文件中的最后一行将被忽略。例如,如果清单文件的最后一行是这样的:

    Main-Class: com.mypackage.MyProgram
    

    如果后面没有空行,那么Java将忽略该行,并且无法找到程序的主类

    参见Sun's Java Tutorial about deploying Java programs in JAR files了解如何将应用程序打包到JAR中的确切细节;它还包含关于清单文件需要以空行结尾的警告

    此外,请仔细检查是否使用了正确的Java版本。您使用的Java版本是否与Windows XP完全相同?试试看:

    java -version
    

    查看正在使用的Java版本