java - 无法在 Vista Business 上执行 Java 应用程序 - "Cannot find the main class... Program will exit"

标签 java windows-vista netbeans6.7 executable-jar

我编写了一个需要 Java 1.6 的 Java GUI 应用程序(使用 Netbeans 6.7)。我在 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 文件并检查了 list 文件(看起来不错)。正确的主类也在应用程序的 jar 文件中。

客户端是否需要注意应用程序在 Vista 中的执行位置?

非常感谢。 普雷博

最佳答案

完全相同的 JAR 文件是否可以在其他操作系统上运行?

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

Main-Class: com.mypackage.MyProgram

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

参见Sun's Java Tutorial about deploying Java programs in JAR files有关如何将应用程序打包到 JAR 中的确切详细信息;它还包含有关 list 文件需要以空行结尾的警告。

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

java -version

查看正在使用哪个 Java 版本。

关于java - 无法在 Vista Business 上执行 Java 应用程序 - "Cannot find the main class... Program will exit",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1293927/

相关文章:

delphi - 如何让 TProgressBar 停止滞后?

wpf - WPF是否可以在XP和Vista上运行?

java-me - 创建 Java 移动应用程序项目时出现问题

java - 寻找带有抓手的可调整大小的 SWT (JFace) 文本区域组件

java - Springframework 构造函数参数

Java 1.4 : Cast primitive type to Object (Coupling vs Performance? )

netbeans - 将 SwingX 1.0 安装到 NetBeans 6.7.1

java - 运行在 Appserver 中的 Spring Container 是否有单独的类加载器?

c++ - WaitForSingleObject 在 XP 中获取他的信号量,但在 Vista 中没有

c++ - 在 c/c++ 开发中更改选项时,Netbeans 会重新生成 Makefile