2012-01-03 44 views
1

更具體地說,當我在命令行中運行我的Java程序之前,我罐子,我做這樣的事情:如何在jar清單文件中指定運行時變量?

java -cp a.jar;b.jar;c.jar;. -Djavax.net.ssl.trustStore=jssecacerts Main 

我可以把罐子的進入清單文件,如下所示:

Class-Path: a.jar b.jar c.jar 

,然後創建jar文件是這樣的: 罐子-cmf清單main.jar文件Main.class

所以,當我運行它,我可以只寫:

java -jar Main.jar -Djavax.net.ssl.trustStore=jssecacerts 

不過,我想進一步簡化我的命令行,並指定清單如果可能的話裏面的-D變量。在此基礎上參考:

http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

它似乎並不明顯怎麼辦呢,所以我不知道是否有任何的方式來做到這一點。

回答

1

您不能在清單進行任何設置做到這一點,但是this規定,你可能會考慮一些有趣的選擇。

一般情況下,你可以把一個屬性文件中通過類路徑(Class.getResourceAsStream())JAR文件和訪問它,這樣將有接近相同的效果,你不會有改變你的代碼時,你需要重新設置屬性。

+0

我使用的靜態類初始化塊與System.setProperty()。 – merlin2011 2012-01-04 08:38:31

相關問題