簡體   English   中英

你能在一個位於jar里面的構建文件上運行Ant嗎?

[英]Can you run Ant on a buildfile that is located inside a jar?

我想知道你是否可以在一個位於JAR內的構建文件上運行Ant。 我之所以對此感興趣,是因為我想在我的構建文件中包含一個“部署”目標,該目標可以在jar被移動到目的地后調用。 該“部署”目標將負責提取運行該程序所需的資源和其他庫。

因此,舉例來說,我會在構建時將我的jar中的屬性,圖像和外部jar包裝起來。 然后,部署過程包括將jar移動到它要運行的位置,並調用ant <someOption> myjar.jar/build.xml deploy或類似的東西。

那有意義嗎?

我認為ant沒有辦法在jar中獲取構建文件。

對於您描述的方法,您需要解壓縮build.xml並將其傳遞給ant。 由於ant不將stdin作為構建文件的參數,因此您需要存儲構建文件然后將其刪除:

$ unzip myjar.jar build.xml

$ ant deploy

$ rm build.xml

但是,是否有必要在應用程序運行環境中安裝ant才能提取這些資源? 難道不能在你的申請表內完成嗎? 或者您不能隨身攜帶jar文件夾,圖書館罐子和圖像?

或者也許創建安裝程序應該更合適: I \\ Pack或者,如果僅限Windows,則為NSIS

可以使用ProjectHelper擴展Ant的構建文件解析。 默認值只加載文件( )。

您可以擴展它來處理XML源,它可以來自jar(可能使用getResourceAsStream(..))

[旁注:您可以通過編程方式運行ant。 無需提取然后運行命令行 - 請參閱通過Java以編程方式運行ANT ]

暫無
暫無

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

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