Java 如何在jar';中指定运行时变量;谁的清单文件?
更具体地说,当我在jar之前从命令行运行java程序时,我会执行如下操作:Java 如何在jar';中指定运行时变量;谁的清单文件?,java,Java,更具体地说,当我在jar之前从命令行运行java程序时,我会执行如下操作: java -cp a.jar;b.jar;c.jar;. -Djavax.net.ssl.trustStore=jssecacerts Main 我可以将jar放入清单文件,如下所示: Class-Path: a.jar b.jar c.jar 然后像这样创建jar文件: jar-cmf MANIFEST Main.jar Main.class 这样当我运行它时,我就可以写: java -jar Main.jar
java -cp a.jar;b.jar;c.jar;. -Djavax.net.ssl.trustStore=jssecacerts Main
我可以将jar放入清单文件,如下所示:
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变量。基于此参考:
如何做似乎不太明显,所以我想知道有没有办法。
你不能通过在清单中设置任何东西来做这件事,但是提供一些你可能考虑的有趣的备选方案。一般来说,您可以在Jar文件中放置一个属性文件,并通过类路径(
Class.getResourceAsStream()
)访问它,这样将产生几乎相同的效果,并且在需要重置属性时不必更改代码。我使用了System.setProperty()的静态类初始化块。