Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在jar';中指定运行时变量;谁的清单文件?_Java - Fatal编程技术网

Java 如何在jar';中指定运行时变量;谁的清单文件?

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

更具体地说,当我在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 -Djavax.net.ssl.trustStore=jssecacerts
但是,我想进一步简化我的命令行,如果可能的话,在清单中指定-d变量。基于此参考:


如何做似乎不太明显,所以我想知道有没有办法。

你不能通过在清单中设置任何东西来做这件事,但是提供一些你可能考虑的有趣的备选方案。


一般来说,您可以在Jar文件中放置一个属性文件,并通过类路径(
Class.getResourceAsStream()
)访问它,这样将产生几乎相同的效果,并且在需要重置属性时不必更改代码。

我使用了System.setProperty()的静态类初始化块。