我正在使用上述库。我很困惑如何构建可执行的 .jar 文件。它不会以某种方式工作。
我正在使用 Maven 程序集插件,到目前为止我已经能够为我的服务器创建一个 .jar。我的服务器只使用 kryonet 和 javafx,我在 Maven 中拥有它们。
不幸的是,Nifty GUI 只在我的驱动器上本地,我在我的 pom.xml 中添加了一个本地存储库。
由于 lwjgl 原生,我选择使用 maven-nativedependency-plugin,复制过程确实有效,并且 .jar 已成功创建。
我不确定我的问题出在哪里。创建我的服务器 .jar 文件并不是什么大问题,但我卡在游戏客户端上,我认为这源于 slick2d/lwjgl 和/或漂亮的 gui。
你可以在这里找到我的 pom:
Maven 屏幕截图(如果有帮助):
/image/osbnI.jpg (点击查看更佳尺寸)
提前致谢!
最佳答案
您可以采取多种方法。
我建议:
在 .jars MANIFEST.MF 中添加包含依赖库的显式“类路径”条目:
http://alvinalexander.com/blog/post/java/how-build-executable-jar-file-reference-dependencies
示例 build.xml 片段:
<tstamp/><!-- needed for TODAY --> <manifest file="MANIFEST.MF"> <attribute name="Built-By" value="${manifest.built.by}"/> <attribute name="Created-By" value="${manifest.created.by}"/> <attribute name="Main-Class" value="${manifest.main.class}"/> <attribute name="Implementation-Version" value="${version.number}-${build.number}"/> <attribute name="Built-Date" value="${TODAY}"/> <attribute name="Class-Path" value="${mf.classpath}" /> </manifest>
将依赖的 .jar 与应用程序的 jar 一起发送。 换句话说,在安装应用时将依赖的 .jar 复制到同一安装目录。
另一种不同的方法可能是:
- 创建一个“fat/uber”.jar:
http://www.mkyong.com/maven/create-a-fat-jar-file-maven-assembly-plugin/
关于java - slick2d(lwjgl)、nifty、kryonet - 如何构建 .jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372141/