2

它可以很好地导出为 Jar,但是当我双击该项目时,它不会加载。

我正在构建一个 Java Slick2d 游戏(我的第一个)。我在 Windows 7 和 Ubuntu 12.10 上都试过了。有什么建议么?

4

3 回答 3

1

如果您从终端运行导出的 jar 文件,您将看到一个Unsatisfied Link Error. 要解决此问题,您需要包含 LWJGL 本机。如果您想要一个独立的 jar 中的所有内容,最简单的方法是使用JarSplice

让我们逐步介绍如何执行此操作。

  1. 打开 JarSplice

    打开屏幕

  2. 添加从 Eclipse 导出的 jar。

    添加导出的jar

  3. 添加 LWJGL 本地人。这些可以从 下载http://www.lwjgl.org/download.php。我将为 Linux 导出,所以我将包含 Linux 本机文件。本机文件应位于名为native.

    添加本地人

  4. 现在指定项目中的主类。不要忘记包含类的包。

    指定主类

  5. 点击Create Fat Jar,你就完成了!您还可以导出到 Linux .sh、Mac.app或 Windows .exe。只要确保你包括适当的本地人。

    创建胖罐

  6. 与他人分享您的游戏,玩得开心!

    游戏!

于 2013-01-16T05:07:22.973 回答
0

在jar文件中找到文件“MANIFEST”,并添加行:“Main-Class:{您的可执行类名称(带有main方法的类)}”

于 2013-01-16T05:09:23.037 回答
0

确保你提到主类:在 META-INF

详细说明

下面列出了为独立 SWT 文件创建可执行 JAR 文件的详细说明。

  1. 在您的系统上为所需的运行时目标创建一个运行时文件夹(例如,c:\swt\runtime-linux)。请注意,目标平台不需要与您的开发平台相同。

  2. 为所需的目标平台找到正确的 SWT JAR 文件。您可以从 SWT 网站下载所需的 ZIP 文件。例如,对于 Eclipse 3.3 和 Linux 的目标平台,下载文件 swt-3.3.1.1-gtk-linux-x86.zip。展开此 ZIP 文件并将 swt.jar 文件复制到运行时文件夹。请记住,此 swt.jar 文件特定于一个平台,在本例中为 Linux。

    3. 使用 Eclipse 文本编辑器为您的应用程序创建一个清单文件(例如,myapplication-manifest.txt)。清单的文本应如下所示:

    清单版本:1.0

    类路径:swt.jar

    主类:mypackage.MyClassWithMainMethod

    (文件末尾的空白行)

4.确保清单文件以空行结尾。输入包含 Main-Class 的 main() 方法的包和类的名称。在 Eclipse 中,选择 File/Export/Java/Jar 文件并按 Next。

  1. 在 JAR File Specification 对话框中,选择应用程序中所需类的源文件。在导出目标中,浏览到运行时文件夹并输入所需的 JAR 文件名称(例如,myapplication.jar 或 myapplication_linux.jar)。按下一步。

  2. 在 JAR Packaging Options 对话框中,确保选中“Export class files with compile warnings”框。否则,如果您的源文件有任何编译警告,它们将不会包含在 JAR 文件中。按下一步。

  3. 在 JAR 导出对话框中,选择“使用工作区中的现有清单”选项。浏览到您在上面创建的清单文件。按完成。

  4. 如果 JAR 文件已经存在,系统会要求您覆盖它。选择是。如果您的项目有任何编译警告,将显示一条消息。如果是这样,请按 OK。此时,您的应用程序的 JAR 文件已在运行时目录中创建。如果需要(即您的目标平台与您的开发平台不同),请将运行时目录复制到目标平台上的目录中。

  5. 在操作系统的文件资源管理器中,浏览到运行时目录并运行 JAR 文件。例如,在 Windows 中,您可以在 Windows 文件资源管理器中双击它,或者在“cmd”提示符下输入命令:java -jar myapplication.jar。应用程序应该运行。

于 2013-01-16T04:50:39.773 回答