设置多个系统属性 Java 命令行
有没有比使用多个 -D 语句更简单的方法来在 Java 程序的命令行上指定多个系统属性?
试图避免这种情况:
java -jar -DNAME="myName" -DVERSION="1.0" -DLOCATION="home" program.jar
我以为我看到过一个例子,有人使用一个 -D
和之后的一些带引号的字符串,但我无法再次找到该示例。
Is there an easier way to specify multiple System Properties on the command line to a Java program rather than having multiple -D statements?
Trying to avoid this:
java -jar -DNAME="myName" -DVERSION="1.0" -DLOCATION="home" program.jar
I thought I had seen an example of someone using one -D
and some quoted string after that, but I can't find the example again.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
答案是否定的。您可能见过这样的示例:
-DArguments=a=1,b=2,c=3,d=4,e=cow
然后应用程序将解析以下值用于获取单个值的
Arguments
属性字符串。在您的
main
中,您可以获得如下键值(假设输入格式得到保证):此外,
-D
应该位于主类或jar< 之前/code> java 命令行中的文件。示例:java -DArguments=a=1,b=2,c=3,d=4,e=cow MainClass
Answer is NO. You might have seen an example where somebody would have set something like :
-DArguments=a=1,b=2,c=3,d=4,e=cow
Then the application would parse value of
Arguments
property string to get individual values.In your
main
you can get the key values as(Assuming input format is guaranteed):Also, the
-D
should be before the main class or thejar
file in the java command line. Example :java -DArguments=a=1,b=2,c=3,d=4,e=cow MainClass
文档中没有任何内容提到任何内容像那样。
这是一个引用:
There's nothing on the Documentation that mentions about anything like that.
Here's a quote:
您可以使用 .properties 来存储属性,而不是将属性作为参数传递。
Instead of passing the properties as an argument, you may use a .properties for storing them.
您可以使用
JAVA_TOOL_OPTIONS
环境变量来设置选项。它对我和 Rasbian 有用。请参阅环境变量和系统属性 其中有这样一句话:但是,出于安全原因,可能会禁用此环境变量的使用。
请参阅此示例,该示例显示了在命令行上指定与使用
JAVA_TOOL_OPTIONS
环境变量之间的区别。You may be able to use the
JAVA_TOOL_OPTIONS
environment variable to set options. It worked for me with Rasbian. See Environment Variables and System Properties which has this to say:However this environment variable use may be disabled for security reasons.
See this example showing the difference between specifying on the command line versus using the
JAVA_TOOL_OPTIONS
environment variable.如果需要在系统中设置所需的属性,那么没有比 -D 更好的选项了
但是,如果您在引导应用程序时需要这些属性,那么通过属性文件加载属性是最佳选择。它不需要更改单个属性的构建。
If the required properties need to set in system then there is no option than -D
But if you need those properties while bootstrapping an application then loading properties through the properties files is a best option. It will not require to change build for a single property.