netbeans里的javafx工程如何打包成一个jar
2015-01-10 13:14
543 查看
由于官方有案例,所以很多网上的文章都说了怎么把netbeans的输出打包成一个jar, 有些叫fat-jar。
主要的用法就是修改 build.xml
但是也有以讹传讹的。首先是manifest.mf,如果是netbeans自建的工程,里面只有两行:
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
很多人提到要在这里设置main-class的值,实际上是不需要的(自建的工程)。
第二,关于打包:官方提到了修改build.xml,在</project>之前增加内容:
蓝色的内容是需要根据自己的情况修改的。
<target name="package-for-store" depends="jar">
<property name="store.jar.name" value="LmCreater"/>
<property name="store.dir" value="store"/>
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
<property name="binWork.dir" value="binWork"></property>
<property name="batfile" value="lmCreater.bat"></property>
<property name="store.binWork" value="${store.dir}/binWork"></property>
<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
<delete dir="${store.dir}"/>
<mkdir dir="${store.dir}"/>
<delete dir="${store.binWork}"/&
4000
gt;
<mkdir dir="${store.binWork}"/>
<copydir dest="${store.binWork}" src="${binWork.dir}"/>
<copy file="${batfile}" todir="${store.dir}" />
<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
<zipgroupfileset dir="dist" includes="*.jar"/>
<zipgroupfileset dir="dist/lib" includes="*.jar"/>
<manifest>
<attribute name="Main-Class" value="${javafx.main.class}"/>
</manifest>
</jar>
<zip destfile="${store.jar}">
<zipfileset src="${store.dir}/temp_final.jar"
excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
</zip>
<delete file="${store.dir}/temp_final.jar"/>
</target>
关键是那个红色的部分 ,Main-Class的值,官方的文档,以及网上一大抄的文档写的是 ${main.class},如果是javafx的工程,这里是不同的,要用 javafx.main.class。 这是关键。
后面就简单了,在build.xml上右键,找到package-for-store,即可生成store目录下的单文件jar以及自己需要使用的其他文件。
主要的用法就是修改 build.xml
但是也有以讹传讹的。首先是manifest.mf,如果是netbeans自建的工程,里面只有两行:
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build
很多人提到要在这里设置main-class的值,实际上是不需要的(自建的工程)。
第二,关于打包:官方提到了修改build.xml,在</project>之前增加内容:
蓝色的内容是需要根据自己的情况修改的。
<target name="package-for-store" depends="jar">
<property name="store.jar.name" value="LmCreater"/>
<property name="store.dir" value="store"/>
<property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
<property name="binWork.dir" value="binWork"></property>
<property name="batfile" value="lmCreater.bat"></property>
<property name="store.binWork" value="${store.dir}/binWork"></property>
<echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
<delete dir="${store.dir}"/>
<mkdir dir="${store.dir}"/>
<delete dir="${store.binWork}"/&
4000
gt;
<mkdir dir="${store.binWork}"/>
<copydir dest="${store.binWork}" src="${binWork.dir}"/>
<copy file="${batfile}" todir="${store.dir}" />
<jar destfile="${store.dir}/temp_final.jar" filesetmanifest="skip">
<zipgroupfileset dir="dist" includes="*.jar"/>
<zipgroupfileset dir="dist/lib" includes="*.jar"/>
<manifest>
<attribute name="Main-Class" value="${javafx.main.class}"/>
</manifest>
</jar>
<zip destfile="${store.jar}">
<zipfileset src="${store.dir}/temp_final.jar"
excludes="META-INF/*.SF, META-INF/*.DSA, META-INF/*.RSA"/>
</zip>
<delete file="${store.dir}/temp_final.jar"/>
</target>
关键是那个红色的部分 ,Main-Class的值,官方的文档,以及网上一大抄的文档写的是 ${main.class},如果是javafx的工程,这里是不同的,要用 javafx.main.class。 这是关键。
后面就简单了,在build.xml上右键,找到package-for-store,即可生成store目录下的单文件jar以及自己需要使用的其他文件。
相关文章推荐
- Maven Assembly Plugin - 如何将Maven工程打成一个可执行jar包
- 如何用jar命令对java工程进行打包
- Java类加载机制——如何实现一个工程中不同模块加载不同版本的同名jar包。
- maven中如何将所有引用的jar包打包到一个jar中
- java学习笔记--如何用jar命令对java工程进行打包
- 工程打包为jar,工程内引用的jar不能一同被打包。另外一个工程引用此jar,则把第一个工程引用的jar跟生成的jar放在同一个目录引用。
- 如何把JAVA工程生成一个.JAR文件,而不是一堆JAR(ECLIPSE生成JAR)
- maven中如何将所有引用的jar包打包到一个jar中
- maven 如何让所依赖的jar都被打包在一个jar里面呢
- 如何将一个Andorid工程导成JAR包
- 如何用jar命令对java工程进行打包
- 如何将整个工程打成jar包,做一个可执行文件
- 在一个工程中如何把外部多个jar包放入一个自定义的 library下
- Android导出一个JAR库 Android如何将程序打成jar包 android 打包...
- Netbeans 6.8 把项目打包成一个 JAR 文件
- Android导出一个JAR库/Android如何将程序打成jar包/android 打包
- IDEA如何打包可运行jar的一个问题。
- 如何利用Eclipse给编写的工程打包成jar包
- 如何使用jar命令对java工程进行打包
- maven-assembly-plugin把java工程打包成为一个可执行的jar包