1

我确实检查了已经回答的问题,这些问题与这个问题的主题几乎相同,但没有一个回答过的问题能够解决我的问题。

我现在已经在网上搜索了大约 4 个小时,并尝试了很多不同的方法来解决我的问题..

我正在尝试用 Java 制作 Pong 游戏,现在我想导出我的项目,以便我可以将其发送给某个朋友,以便他可以尝试。

我在这个项目中使用 LWJGL,所以我确实在引用的库中添加了一些 jar,并且 LWJGL.jar 添加了包含在项目 lib 文件夹中的 windows natives。这是项目查看器的图像:

我发布这张图片的原因是让您了解我拥有项目中的所有库以及项目运行所需的本地人。

在阅读为什么 jar 不起作用时,我还读到您需要一个 Manifest.mf 文件,所以我创建了一个文件,在这个清单文件中我有以下文本:

Manifest-Version: 1.0
Main-Class: jGame.Main
Class-Path: lib/jars/asm-debug-all.jar lib/jars/jinput.jar lib/jars/lwjgl.jar lib/jars/izma.jar lib/jars/slick.jar

Class-Path 下面还有 2 个空行,因为我听说你必须拥有它。

只要我在 Eclipse 中运行这个项目,它就可以正常运行,但是当我在 Eclipse 中使用可运行的 jar 或 jar 向导导出项目时,当我双击 .jar 文件时它不会启动,所以我进入 cmd 并使用了这个命令:

java.exe -jar JGame.jar

并显示以下消息:

我已经检查了至少 10 次,我为主要课程提供了正确的路径。我不知道该做什么了。在 Eclipse 向导中,我一直在尝试导出可运行的 jar 和导出普通 jar,但两者都没有工作。同样在向导中,我选择导出一个不可运行的普通 jar,因为当我选择可运行时,库会因为 lib 文件夹被替换而变得混乱。

我尝试将 jar 文件作为存档打开并得到以下信息:

4

1 回答 1

0

在尝试使用 JarSplice 时,我成功地解决了这个问题。

读完后:

它不会按照您当前尝试的方式工作,因为您需要将本机文件放在 jar 旁边并通过“-Djava.library.path”参数指向它们。

如果您只想要一个 jar 并且想要避免命令行和本地文件的麻烦,请使用 JarSplice 工具。JarSplice 易于使用,并且会自动为您处理本机文件内容。

1)只需将您的项目(类和资源)导出到一个 jar 中(通过您的 IDE 更容易做到)。

2) 然后运行 ​​JarSplice,将所需的所有 jar 添加到 jar 选项卡(您的应用程序 jar、lwjgl.jar 和您正在使用的任何其他外部 jar)。

3)然后在 natives 选项卡上添加所有 natives 文件(windows *.dll、linux *.so、mac *.dylib 和 *.jnilib)。

4)在类选项卡上添加您的主类。然后创建你的罐子。

然后你可以通过双击它来运行这个jar(或者如果你希望通过命令行使用'java -jar yourapp.jar')。

我从这个链接找到了这个解决方案:Can't start .jar file (using LWJGL)

它第一次不起作用的原因是我没有包含在使用 JarSplice 时从 eclipse 导出的实际 .jar 文件。

于 2013-04-21T17:35:16.027 回答