更具体地说,当我在运行之前从命令行运行我的java程序时,我会这样做:
java -cp a.jar;b.jar;c.jar;. -Djavax.net.ssl.trustStore=jssecacerts Main
我可以将jar放入Manifest文件中,如下所示:
Class-Path: a.jar b.jar c.jar
然后像这样创建jar文件: jar -cmf MANIFEST Main.jar Main.class
因此,当我运行它时,我可以写:
java -jar Main.jar -Djavax.net.ssl.trustStore=jssecacerts
但是,我想进一步简化命令行,如果可能的话,在清单中指定-D变量。基于此参考:
http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html
如何做到这一点似乎并不明显,所以我想知道是否有办法做到这一点。
答案 0 :(得分:1)
您无法通过在清单中设置任何内容来执行此操作,但this提供了一些您可能会考虑的有趣替代方案。
通常,您可以在Jar文件中放置一个属性文件,并通过类路径(Class.getResourceAsStream()
)访问它,这样就会产生接近相同的效果,当您执行时不必更改代码需要重置属性。