簡體   English   中英

如何在Eclipse Java項目中自動生成.jar文件

[英]How Do I Automatically Generate A .jar File In An Eclipse Java Project

我有一個Eclipse Java項目。 它包含一個名為“dist”的文件夾。 在該文件夾中是.jar文件。

如何在此項目中進行設置以確保在重新編譯項目中的一個.java文件時更新此.jar文件?

謝謝。

創建一個Ant文件並告訴Eclipse構建它。 只有兩個步驟,每個步驟都很簡單,下面是逐步說明。


步驟1創建build.xml文件並添加到包資源管理器:

<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file --> 
<project name="TestMain" default="CreateJar">
  <target name="CreateJar" description="Create Jar file">
        <jar jarfile="Test.jar" basedir="." includes="*.class" />
  </target>
</project>

Eclipse應該看起來像下面的截圖。 注意build.xml上的Ant圖標。 Eclipse Project中的Build.xml

步驟2右鍵單擊項目中的根節點。 - 選擇屬性 - 選擇構建器 - 選擇新建 - 選擇Ant構建 - 在主選項卡中,完成bin文件夾中build.xml文件的路徑。

Ant構建器配置構建步驟 - 目標選項卡

檢查輸出

Eclipse輸出窗口(名為Console)應在構建后顯示以下內容:

Buildfile: /home/<user>/src/Test/build.xml

CreateJar:
         [jar] Building jar: /home/<user>/src/Test/Test.jar
BUILD SUCCESSFUL
Total time: 152 milliseconds

您可以定義一個運行jar任務的Ant構建器來清空項目中的所有類文件(使用“ Refresh project upon completion ”設置。)

替代文字

(另請參閱“ 自定義Eclipse項目的構建 ”)

請參閱IBM文章: 如何以及為何創建自定義Ant任務

替代文字

一個常見的模式是對項目中的類文件起作用(項目可以添加到其他項目構建路徑並在測試時在運行時使用),因此在開發過程中實際上並不需要jar文件。

添加自動構建步驟的geeneral方法是編寫一個ant腳本,在項目中包含該腳本,然后您可以在項目的構建中包含ant腳本的執行。 因為螞蟻有一個相當簡單的jar構建任務,如果你確實需要jar文件,這不是太費力。 請參閱首發。

創建J2EE實用程序項目(Util)。 它允許您創建與J2EE項目(ProjectX)的關聯。 當您編輯ProjectX的屬性以依賴於Util項目時,它會顯示Util as Util.jar。 在聲明了依賴項后,Eclipse將在必須構建Util項目時構建Util.jar。 如果您為Util項目激活了自動構建,則每次構建項目時,.jar文件都將保持同步。 如果您的目標項目不是J2EE項目,您仍然可以使用此解決方案,但使用虛擬J2EE父項目。

以下是使用ANT任務從Eclipse中構建.zip文件的幫助頁面的鏈接: http//help.eclipse.org/galileo/index.jsp?topic = / org.eclipse.pde.doc。用戶/任務/ pde_feature_generating_ant.htm

另一種解決方案是使用Zip插件。 我們在5年前使用過它,但是當WSAD將依賴項目的支持作為.jar文件時停止了。

托馬斯的答案是有效的,但它產生的jar文件並不是你用來實際運行應用程序的文件。

我結束了:

<?xml version="1.0" ?>
<!-- Configuration of the Ant build system to generate a Jar file --> 
<project name="TDSz Data Mover" default="CreateJar">
  <target name="CreateJar" description="Create Jar file">
        <delete file="DataMover.jar"/>
        <jar jarfile="DataMover.jar" basedir="bin/" includes="**/*.class **/Messages*.*" " update="no">
            <zipfileset dir="D:/Java/mylib" erroronmissingarchive="true">
                <include name="*.jar" />
            </zipfileset>  
            <manifest>
                <attribute name="Main-Class" value="some.package.and.app"/>
            </manifest>             
        </jar>
  </target>
</project>

自從給出答案以來,不知道螞蟻是否有變化,但實際上需要進行一些挖掘才能使其正常工作。 教程中的很多解決方案只是部分答案......

主要變化:

  • 添加了jar文件的刪除,因為它在更改構建文件后重新編譯ant構建時沒有重新生成它。
  • 添加了清單以正確設置可執行文件。
  • 將一些.jar文件作為libs引入
  • 拉入Message_文件以獲得NLS支持

Netbeans讓這更容易 - 只需檢查幾個盒子。

[編輯修復了錯誤終止jar標簽的問題並拉入.jar文件]

暫無
暫無

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

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