我想创建包含我的外部jar文件的可执行jar文件, 我正在使用Netbeans 8.0.2和Java 8 我尝试使用Internet和stackoverflow提供的解决方案更新build.xml, 但是外部jar文件没有包含在我的单个可执行jar文件中。 我也尝试过
<target name="package-for-store" depends="jar">
<property name="store.jar.name" value="myProject"/>
<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>
我也尝试过
How to build a fat jar using Netbeans
它创建了一个jar文件,但不包含我的外部依赖关系。
谁能帮助我如何使用Netbeans 8.0.2
和java8
答案 0 :(得分:0)
我终于找到了答案, 我在build.xml中使用了以下配置
<target name="package-for-store" depends="jar">
<property name="store.jar.name" value="DocumentProtector"/>
<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} mainclass ${main.class}"/>
<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>
在clean+build
之后的
右键单击build.xml
并转到Other target
,然后单击package-for-store
但是这样做之后我错了主班
所以经过很少的研究,我找到了改变主班的解决方案
转到project folder -> nbproject and open project.properties
文件
并将main.class更改为带有包名称的邮件类文件名
像这样main.class=com.test.package.MainClass
和clean+build
并再次
右键单击build.xml
并转到Other target
,然后单击package-for-store