java - slick2d(lwjgl)、nifty、kryonet - 如何构建 .jar?

标签 java maven jar build slick2d

我正在使用上述库。我很困惑如何构建可执行的 .jar 文件。它不会以某种方式工作。

我正在使用 Maven 程序集插件,到目前为止我已经能够为我的服务器创建一个 .jar。我的服务器只使用 kryonet 和 javafx,我在 Maven 中拥有它们。

不幸的是,Nifty GUI 只在我的驱动器上本地,我在我的 pom.xml 中添加了一个本地存储库。

由于 lwjgl 原生,我选择使用 maven-nativedependency-plugin,复制过程确实有效,并且 .jar 已成功创建。

我不确定我的问题出在哪里。创建我的服务器 .jar 文件并不是什么大问题,但我卡在游戏客户端上,我认为这源于 slick2d/lwjgl 和/或漂亮的 gui。

你可以在这里找到我的 pom:

http://pastebin.com/PzG1cSuF

Maven 屏幕截图(如果有帮助):

/image/osbnI.jpg (点击查看更佳尺寸)

mavenscreenshot

提前致谢!

最佳答案

您可以采取多种方法。

我建议:

  1. 在 .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>
    
  2. 将依赖的 .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/

    相关文章:

    java - PIT Mutation Testing maven插件跳过所有私有(private)方法

    maven - 从 jenkins/maven build 发布 SNAPSHOT 到 nexus

    java - 在 netbeans 的 Maven Web 应用程序中找不到类文件

    java - 使用 jetty httpclient 的 Jar 依赖项

    java - jar 的问题

    java - 应用低通滤波器

    java - 如何将java中带有1和0的字符串转换为相应的ASCII值?

    java - Eclipse 错误 : "The import XXX cannot be resolved"

    Java Swing 或 AWT 重绘频率

    java - maven 找不到指定的路径