2016-03-24 125 views
1

我有一个应用程序正在使用java \ extensions文件夹中正在使用的两个库。我希望这个jar文件可以从任何计算机上运行,​​例如没有netbeans的计算机。什么是创建这个罐子的最佳方式?我已经阅读了一些教程,但他们似乎没有回答我的问题。Netbeans创建独立Jar

+0

看看[sbt-assembly](https://github.com/sbt/sbt-assembly)或[OneJar]( https://github.com/sbt/sbt-onejar)。或者使用Ant或jar.exe自行构建jar。 – ManoDestra

回答

0

如果是用的build.xml标准的NetBeans项目,我通常添加这样的目标build.xml中:

<target name="-post-jar"> 
    <jar jarfile="${dist.jar}" update="true"> 
     <zipfileset src="${dist.jar}" includes="**/*.class" /> 
     <zipfileset src="${libs.somelibrary.classpath}" includes="**/*.class"/> 
    </jar> 
</target> 

这里somelibrary是已被添加到项目中的第三方库。为要包含在jar文件中的每个库添加zipfileset元素。你应该已经在project.properties中为每个库都有这样的东西:

javac.classpath=\ 
    ${libs.somelibrary.classpath}:\ 
+0

我应该添加上面的行还是改变它:?javac.classpath = \ $ {file.reference.RXTXcomm.jar}:\ $ {file.reference.guava.jar} – bfrancis

+0

不要编辑项目.properties,只需将zipfileset元素添加到build.xml中,即可将libs.somelibrary.classpath替换为file.reference.RXTXcomm.jar和file.reference.guava.jar。 –

+0

谢谢!还有一个问题。我如何打包本地库librxtxSerial.jnilib与构建? – bfrancis