java-8 - 从 Netbeans 8.0.2 和 java 8 创建包括外部 jar 文件的可执行 jar
问题描述
我想创建包含我的外部 jar 文件的可执行 jar 文件,我正在使用 Netbeans 8.0.2 和 Java 8 我尝试使用互联网和 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>
我也试过这个
它创建了一个 jar 文件,但不包括我的外部依赖项。任何人都可以帮助我如何将我的外部 jar 包含到单个可执行 jarNetbeans 8.0.2
中java8
解决方案
我终于找到了答案,我在 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
但这样做后我弄错了主类,所以经过一番研究,我找到了更改主类的解决方案转到文件并将 main.class 更改为您的邮件类文件名
,project folder -> nbproject and open project.properties
包名如下 再次右键单击并转到并单击main.class=com.test.package.MainClass
clean+build
build.xml
Other target
package-for-store
推荐阅读
- python - Windows 10 not opening jupyter notebook in Command Prompt
- symfony - Symfony 4 : execute the latest migration file
- python - 我在 colabs 上对 imgae 分类模型的训练总是停止而没有错误
- linq - LINQ: how to do "flat" collection instead of "nested"
- php - foreach循环之前的PHP全局变量输出
- regex - Ruby: Limit size writing to text file while using gsub
- java - Python's Numpy.transpose by axes equivalent for Mat Java
- python-2.7 - 跳过打印但继续程序
- sql - Improving the stored procedure performance
- python-3.x - how to fix error during installation of PyUpdater