它作为Jar导出它很好,但是当我双击项目时它不会加载。
我正在构建一个Java Slick2d游戏(我的第一个)。我试过Windows 7和Ubuntu 12.10。有什么建议?
答案 0 :(得分:1)
如果从终端运行导出的jar文件,您将看到Unsatisfied Link Error
。要解决此问题,您需要包含LWJGL本机。如果你想要一个独立的jar中的所有东西,最简单的方法是使用JarSplice。
让我们一步一步地了解如何执行此操作。
打开JarSplice
添加从Eclipse导出的jar。
添加LWJGL原生。这些可以从http://www.lwjgl.org/download.php
下载。我将导出Linux,因此我将包含Linux本机文件。本机文件应位于名为native
的文件夹中。
现在指定项目中的主类。不要忘记包括课程的包。
点击Create Fat Jar
即可完成!您还可以导出到Linux .sh
,Mac .app
或Windows .exe
。只需确保包含适当的原生代。
享受与他人分享游戏的乐趣!
答案 1 :(得分:0)
请务必提及主类:在META-INF
中
详细说明
下面列出了为独立SWT文件创建可执行JAR文件的详细说明。
在系统上为所需的运行时目标创建运行时文件夹(例如,c:\ swt \ runtime-linux)。请注意,目标平台不需要与开发平台相同。
为所需的目标平台找到正确的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
Class-Path:swt.jar
Main-Class:mypackage.MyClassWithMainMethod
(文件末尾的空行)
4.确保清单文件以空行结束。为包含Main-Class的main()方法的包和类的名称。 在Eclipse中,选择File / Export / Java / Jar文件,然后按Next。
在“JAR文件规范”对话框中,选择应用程序中所需类的源文件。在导出目标中,浏览到运行时文件夹并输入所需的JAR文件名(例如,myapplication.jar或myapplication_linux.jar)。按“下一步”。
在“JAR打包选项”对话框中,确保选中“使用编译警告导出类文件”框。否则,如果源文件有任何编译警告,它们将不会包含在JAR文件中。按“下一步”。
在“JAR导出”对话框中,选择“从工作区使用现有清单”选项。浏览到您在上面创建的清单文件。按完成。
如果JAR文件已存在,系统会要求您覆盖它。选择是。如果您的项目有任何编译警告,则会显示一条消息。如果是,请按“确定”。 此时,已在运行时目录中创建应用程序的JAR文件。 如果需要(即,您的目标平台与开发平台不同),请将运行时目录复制到目标平台上的目录。
在操作系统的文件资源管理器中,浏览到运行时目录并运行JAR文件。例如,在Windows中,您只需在Windows文件资源管理器中双击它,或者从“cmd”提示符输入命令:java -jar myapplication.jar。应用程序应该运行。
答案 2 :(得分:0)
在jar文件中找到文件“MANIFEST”,并添加一行: “Main-Class:{您的可执行类名称(带主方法的类)}”