缘由:开发一个项目后,会有很多的第三方jar包,感觉很乱很杂,就想在项目开发完成后将所有class文件打包成一个jar包,尤其是做桌面软件更是想打成一个jar包文件了。
工具:netbeans6.7+
解决方案:
因为netbeans都是采用ant来编译的。
1.在netbeans的文件导航条下找到项目路径下的build.xml文件
2.在文件中加入以下代码
- <target name="package-for-store" depends="jar">
- <!-- Change the value of this property to be the name of your JAR,
- minus the .jar extension. It should not have spaces.
- <property name="store.jar.name" value="MyJarName"/>
- -->
- <property name="store.jar.name" value="SwitchHexAndChinese"/>
- <!-- don't edit below this line -->
- <property name="store.dir" value="store"/>
- <property name="store.jar" value="${store.dir}/${store.jar.name}.jar"/>
- <echo message="Packaging ${application.title} into a single JAR at ${store.jar}"/>
- <delete dir="${store.dir}"/>
- <mkdir dir="${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="${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>
其中 <property name="store.jar.name" value="SwitchHexAndChinese"/> 中的value可以随意更改,这个就是jar包名
3.项目完成后,在文件导航条下,右键点击build.xml在弹出框中选择 运行目标->其它目标->package-for-store 点击后会在项目路径下生成一个store文件夹,里面就包含了一个jar包