2012-10-22 83 views
2

我正在做的是需要能夠讓客戶更改設置一個程序,用什麼我稱爲「生成器」,創建一個.jar,在一類取代一些常量與他們的設置。如何構建JAR文件動態

換句話說,我有一個GUI,它有幾個文本框,這樣當他們按下標記爲Build的JButton時,它會創建一個新的Runnable Jar,其中的Constants類的設置隨文本域中的內容而改變。

這可能嗎?我聽說過ANT腳本,但我不確定這是我在這裏尋找的。

謝謝

+3

檢查[這](http://stackoverflow.com/questions/1281229/how-to-use-jaroutputstream-to-create-a-jar-file),那裏你會發現你需要創建的所有信息一個程序化的jar – higuaro

+0

@ h3nr1x感謝你,但是我怎麼會在創建jar之前改變類中的某些東西? – Austin

+0

下面的鏈接可能會幫助你 http://stackoverflow.com/questions/928896/dynamically-generate-jar-files-based-on-package-name-with-ant – Ruser1510890

回答

4

你有沒有考慮過使用.properties文件或類似的東西?您可以使用ant腳本來描述您所描述的內容(請查看http://ant.apache.org/manual/Tasks/replaceregexp.html,您可以在build.xml中使用此任務來動態更改.java文件,但它看起來有點笨拙),但它可能不是最好的解決方案。

查看本頁面:http://www.mkyong.com/java/java-properties-file-examples/擁有約從屬性文件保存到/加載一些細節。你可以設置你的常量類從這個文件加載它的狀態變量,並設置Build JButton來創建該屬性文件。

我試圖想用例的,你會想修改類的源本身,而不是使用屬性文件,但說實話,我不能。所以我想你可能有一些特殊的情況,這對你來說不是一個成功的解決方案,但99%的時間是我建議你去做的。

+0

和我想象我可以將此存儲與來自h3nr1x鏈接的JAR,然後用它像。謝謝:) – Austin

+1

號參見[這個答案](http://stackoverflow.com/questions/5052311/how-can-a-java-program-use-files-inside-the-jar-for-read-and-寫/ 5052359#5052359) - 罐子通常是'只讀'。除非你的意思是**全新的Jar。** –

+0

@AndrewThompson我的意思是創建屬性文件並將其存儲在Jar中。屬性文件不會被更改,只需讀取。所以從你發佈的問題看來,我可以做到這一點,對嗎?謝謝。 – Austin

相關問題