0

我开发了一个 Java swing 应用程序,然后我通过 .jar 包部署了它。

我在我的 PC 上运行我的应用程序,双击 .jar 文件,一切正常,命令行(dos 提示符)也一切正常。

这是我的问题。我试图在另一台 PC 上运行我的应用程序:

  • 相同的操作系统(Windows XP)

  • 相同的 JRE (1.6.0_U13)

  • 但安装了 Oracle JInitiator 1.3.1.18(这是与我的 PC 的唯一区别)

该应用程序只能从命令行运行,但不能从 gui 运行!

双击 .jar 文件我收到此错误:

`Could not find the main class. program will exit!`

这个错误可能是由于 JRE 和 JInitiator 之间的一些冲突造成的吗?

有没有人有同样的麻烦?

谢谢


编辑:

从 gui 执行 .jar 文件与“javaw”命令相关联

4

4 回答 4

3

这可能是与 JInit 的冲突,它改变了 jar 文件和用于启动它们的 java 命令之间的关联。

看到这个线程

重新安装java,问题就消失了。

于 2009-04-02T07:47:26.363 回答
1

您是否检查了 PATH/CLASSPATH/JAVA_PATH 变量。有可能是Jinitiator在前面安装了错误的版本。

于 2009-04-02T07:48:21.417 回答
1

一个简单的描述可能是 - jinitiator 安装为一个完全实现的 JRE,在处理小程序时具有一些用于缓存下载的附加功能。

正如我最近看到的所有 JRE 安装程序所做的那样,无论它们是新的还是旧的,它们都会替换注册表中的几个条目以成为活动的 JRE。除非您提供 java.exe 的完整路径或更改注册表以重新指向不同的 JRE,否则您最后安装的任何内容都将运行。

检查:

  • HKEY_CLASSES_ROOT\jarfile\shell\open\command 看看javaw.exe的路径是否正确。(甚至包括在内)
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\java.exe 和 javaw.exe 和 javaws.exe 也检查那里的路径。
于 2009-04-06T15:08:54.563 回答
0

可能检查您的清单条目。查看 jar 中的 MANIFEST.MF 是否包含正确设置为应该调用的类的 Main-Class 属性,如果没有尝试设置它。

于 2009-04-02T09:05:11.187 回答