netbeans - 如何将 lib 中的 jars 包含到 Netbeans 中的项目 jar 文件中?

标签 netbeans jar package

我正在使用一些 apache HttpClient jar,所以我将它们放在我项目的 lib 目录中,当 Netbeans 编译项目时,它会将 lib 复制并生成一个项目 jar 到 dist 目录中,但是当我使用 webstart 运行我的项目时,我需要将项目jar和lib复制到tomcat的ROOT目录下,不知道netbeans能不能生成一个项目jar包含lib目录下的所有jar,这样就不用把项目jar和lib目录复制到tomcat的ROOT目录下了。 Netbeans 能做到吗?

最佳答案

将每个依赖库 (*.jar) 打包到一个 myProject.jar 中真的很容易。

只需按照这些步骤,您最终会将每个依赖库打包到单个 jar 中。如果您使用的是 NetBeans,那么您可以完全按照,否则您需要找到您的 build.xml 项目文件中的文件。

按照以下步骤编辑 build.xml

1) 点击 Files tab在 NetBeans 中项目面板的左侧。

2) 双击 build.xml文件并在 </project> 之前添加这些行线

 <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>

3) 更改 value根据您的项目名称,在代码的第二行中
<property name="store.jar.name" value="myProject"/> //<---Just value not name

4) 保存并右键单击 build.xml 并选择 运行目标 然后 其他目标 最后点击 包换店

5)到这里你就完成了。现在你可以像dist一样去检查文件夹里会有store文件夹,其中将包含您的最终完整 jar,包括您所有的依赖库。现在,每当您想要更改/添加更多库左右时,只需按照步骤 4 操作即可。

第 4 步的图片

enter image description here

关于netbeans - 如何将 lib 中的 jars 包含到 Netbeans 中的项目 jar 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18451052/

相关文章:

jar - android studio 添加 extern jar 库

java - 通过 java -jar 执行失败,而相同的代码通过 eclipse 运行良好

java - 当我们运行可执行 jar 时,-cp 是否会受到尊重

linux - 如何在 Linux 中创建 MP3 的波形图像?

package - julia:创建和使用没有 Internet 的本地包

java - 无法在 Netbeans 6.9 中添加 Tomcat 服务器实例(触摸 : cannot touch `/usr/share/tomcat6/logs/catalina.out' )

java - java源代码/二进制格式是什么意思?

Java:使用第一个数组的前 3 个整数,然后使用第二个数组的 3 个整数,将 2 个数组组合成第三个数组

jsf - 在 .taglib.xml 中注册自定义组件后,Netbeans 中不会自动完成属性

java - 在 Java 中将文件作为参数传递给另一个类会引发错误 "File or Directory not found"