簡體   English   中英

Java Netbeans,庫在構建時未打包到jar文件中

[英]Java Netbeans, libraries not being packaged into jar file on build

我正在使用netbeans,並將其保存在我的build.xml文件中(在“項目”>“ Build.xml”下)

<target name="package-for-store" depends="jar">
<property name="store.jar.name" value="MyProjectName"/>
<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"/>

大概應該做的是將我擁有的3個庫打包到我的jar文件中,以便在運行jar時具有它的依賴關系。

我的文件夾系統如下所示:

項目/ dist / lib /

  • commons-lang3-3-7.jar
  • commons-text-1.1.jar
  • jsoup-1.10.3.jar

但是,當我在netbeans中單擊“清理並生成”時,它沒有將庫打包到jar中,而是似乎忽略了我放入build.xml文件中的代碼。

我需要單擊一些按鈕以使其使用我的構建配置嗎?

終於我找到了答案。 在Netbeans中,可以在jar文件中構建依賴庫。

Netbeans提供了一種工具,該工具可以自動取消存檔依賴庫並將其包含在jar中(例如MyJar.jar | org \\ apache \\ commons ...)。

而且實際上很容易做到!

  • 首先,您需要單擊顯示您的項目的左上角窗口中的“文件”選項卡。 然后,您應該能夠看到所有文件,包括Build.xml(已在其中放置了構建代碼,例如上面的問題中的內容)。

  • 右鍵單擊Build.xml文件,然后選擇“運行目標”

  • 然后在彈出菜單中選擇“其他目標”

  • 然后在另一個彈出菜單中選擇“商店包裝”

然后,這將構建您的jar文件,其依賴項位於/ YourProject / store /

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM