[英]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圖標。
步驟2右鍵單擊項目中的根節點。 - 選擇屬性 - 選擇構建器 - 選擇新建 - 選擇Ant構建 - 在主選項卡中,完成bin文件夾中build.xml文件的路徑。
檢查輸出
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>
自從給出答案以來,不知道螞蟻是否有變化,但實際上需要進行一些挖掘才能使其正常工作。 教程中的很多解決方案只是部分答案......
主要變化:
Netbeans讓這更容易 - 只需檢查幾個盒子。
[編輯修復了錯誤終止jar標簽的問題並拉入.jar文件]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.