2012-01-03 52 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

相关问题