您好我已經創建了一個依賴於一些外部罐子的java應用程序。現在我想爲我的項目創建一個可執行的jar文件。意思是如果我雙擊項目,那麼它應該執行。如何使用依賴關係罐創建可執行jar
感謝 蘇尼爾·庫馬爾Sahoo
您好我已經創建了一個依賴於一些外部罐子的java應用程序。現在我想爲我的項目創建一個可執行的jar文件。意思是如果我雙擊項目,那麼它應該執行。如何使用依賴關係罐創建可執行jar
感謝 蘇尼爾·庫馬爾Sahoo
您可以用螞蟻做,很容易:
<jar jarfile="MyJar.jar" basedir="bin">
<manifest>
<attribute name="Class-Path" value="lib/lib1.jar lib/lib2.jar lib/lib3.jar"/>
<attribute name="Built-By" value="me"/>
<attribute name="Main-Class" value="mypackage.Myclass"/>
</manifest>
</jar>
這將所有適當的條目添加到清單文件。爲了能夠運行jar,你還需要創建一個lib文件夾,並把所有的依賴罐子有:
myjar.jar
lib/lib1.jar
lib/lib2.jar
lib/lib3.jar
您將需要一個MANIFEST.MF文件添加到JAR爲您的應用程序, (在META-INF目錄下 - 如果使用'jar'命令行工具,它將確保文件結束在正確的位置)。它需要包含兩個屬性(至少):
更多細節可以在這裏找到:http://java.sun.com/docs/books/tutorial/deployment/jar/manifestindex.html
如果你使用像Apache Maven構建工具,你可能會發現,它能夠產生這種爲你。
如果你使用Maven Assembly插件會爲你做這個很乾脆:http://maven.apache.org/plugins/maven-assembly-plugin/howto.html
否則,你就需要按照JAR文件教程中的說明:http://java.sun.com/docs/books/tutorial/deployment/jar/index.html並創建一個清單文件,包括你的主類爲Main-Class: [classname]
並將您的外部罐子列爲Class-Path: theirJar1 theirJar2
等。
您想要在JAR的清單文件中設置Class-Path屬性。
This page應該給你一個很好的起點。
使用Eclipse插件叫做「fatjar」
它的更新站點
http://kurucz-grafika.de/fatjar
只需右鍵單擊項目並使用fatjar選項,接下來讓你選擇哪一個庫將被納入的* .jar
屬性順序似乎很重要。 Class-Path需要在Main-Class之前出現。 – dacracot 2010-05-03 16:57:53