2013-01-16 110 views
2

它可以很好地导出为Jar,但是当我双击该项目时它将不会加载。使用Eclipse创建可执行jar

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

+1

五月是否缺少META文件? – kosa

+1

*“有什么建议吗?”*使用'java -jar the.jar'和复制/粘贴输出,从命令行运行它。 –

+0

你如何详细输出?导出为Runnable jar –

回答

0

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

详细说明

为一个独立的SWT文件创建可执行的JAR文件的详细说明,列下面。 (:\ SWT \运行Linux的例如,C)

  1. 为系统上的所希望的目标运行时创建运行时的文件夹。请注意,目标平台不需要与开发平台相同。

  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()方法的包和类的名称放在Main-Class中。 在Eclipse中,选择文件/导出/ Java/Jar文件,然后按下一步。

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

  2. 在jar包的选项对话框中,确保“以编译警告出口类文件”的复选框被选中。否则,如果源文件有任何编译警告,它们将不会包含在JAR文件中。按下一步。

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

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

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

1

如果您从终端运行导出的jar文件,您将看到一个Unsatisfied Link Error。为了解决这个问题,你需要包含LWJGL原生。如果你想在一个独立的罐子里的一切,最简单的方法是使用JarSplice

让我们逐步了解如何做到这一点。

  1. 打开JarSplice

    Opening Screen

  2. 添加您从Eclipse中导出的罐子。

    Adding exported jar

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

    Adding natives

  4. 现在,在您指定项目的主类。不要忘记包括班级的包裹。

    Specifying main class

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

    Creating fat jar

  6. 乐趣与他人分享你的游戏!

    Game!

0

查找文件 “清单” 中的jar文件,并添加一行: “主类:{您的可执行文件的类名(与主方法的类)}”

相关问题