1

我创建了一个小的 Swing 应用程序。现在我把它给一个朋友测试,在他的电脑上它可以工作。当他将 JAR 文件放在 U 盘上并尝试在另一台计算机上运行它时,会出现错误消息“找不到主类逻辑。启动。程序将退出。”。

由于他不太喜欢计算机来检查他拥有哪个版本,我很确定问题是其他计算机上的 java 版本?根据 Eclipse,我的构建路径是 JavaSE-1.7,但似乎我无法“调整”所需的最小值,例如我可以在 Android 中做到这一点。有没有办法做到这一点?例如,我可以将其作为 JRE5+ 应用程序吗?

编辑:

manifest.mf 文件是这样的

Manifest-Version: 1.0
Class-Path: .
Main-Class: logic.Start
(NEWLINE)
(NEWLINE)

我读过必须只有一个(NEWLINE)。此外,JAR 文件包含文件夹

gui / guiDialogs / guiElements / guiHelp / gx / logic (contains Start.class) / META-INF / sounds

并且没有其他外部 JAR。

4

3 回答 3

1

如果存在 Java 版本问题,则错误消息会有所不同。

您的 jar 文件不完整(或依赖于尚未与主 jar 文件一起复制的其他 jar)。MANIFEST.MF 指向logic.Start在预期位置不可用的主类。

调查 MANIFEST.MF 文件的 Class-Path 行。您可能碰巧引用了绝对路径名或类似名称。

于 2012-10-18T22:06:31.263 回答
1

事实上,问题在于不同计算机上的 JRE 版本。在eclipse中,标准JDK设置为7,并且似乎不可能在已经创建的项目中更改它,我创建了一个具有较低minimu-JRE级别的新项目,复制粘贴了该项目中的整个代码,现在它作品。

于 2012-10-20T16:35:58.950 回答
1

您可以避免创建新项目并复制粘贴代码的步骤。只需右键单击类似于一堆书的图标旁边的“JRE System Library”行,然后单击“属性”。将执行环境更改为您选择的 JRE 版本。

于 2013-06-03T18:10:55.527 回答