2015-07-12 41 views
1

我使用上面提到的库。我很困惑如何构建一个可执行的.jar文件。它不会以某种方式工作。slick2d(lwjgl),漂亮,kryonet - 如何构建.jar?

我正在使用maven assembly plugin,到目前为止我能够为我的服务器创建一个.jar。我的服务器只使用kryonet和javafx,我有maven。

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

由于lwjgl本地人,我选择使用maven-nativedependencies-plugin,复制过程确实有效,而且.jar被成功创建。

我不知道我的问题在哪里。创建我的服务器.jar文件并不是什么大不了的事情,但我挂在游戏客户端上,我认为这是slick2d/lwjgl和or nifty gui的起源。

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

http://pastebin.com/PzG1cSuF

Maven的截图是否有帮助:

http://i.stack.imgur.com/osbnI.jpg(点击更好的大小)

mavenscreenshot

提前感谢!

回答

0

您可以采取几种方法。

我建议:

  1. 添加在您的.jar文件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. 运送依赖ndent .jar与您的应用程序的jar一起。 换言之,在安装应用程序时,将相关的.jars复制到相同的安装目录。

另一种,不同的方法可能是:

  • 创建一个 “脂肪/超级” 的.jar:
  • http://www.mkyong.com/maven/create-a-fat-jar-file-maven-assembly-plugin/

    +0

    感谢病检查这个出来! 最简单的方法可能是将依赖jar放入与需要它们的.jar相同的文件夹中?尽管这不是很好 - 我是否必须将相关的.dll也复制到同一个文件夹中?可能是对的? –