Java:runnable JAR文件,在不同的计算机上找不到主类

时间:2012-10-18 22:02:20

标签: java jar

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

由于他不是很熟悉计算机来检查他有哪个版本,我很确定prolbem是其他计算机上的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。

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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