繁体   English   中英

启动应用程序时使用-D选项设置运行时选项与使用System.setProperty设置之间的区别

[英]Difference between setting the runtime option using -D option when starting the application and setting using System.setProperty

以下两种设置属性的方式有什么区别?

  1. 启动应用程序时,例如java - cp /usr/bin/*.jar -D java.file.path=/home/export

  2. System.setProperty("java.file.path","/home/export")

当我使用第一种方法为第三方API设置路径时,它可以正常工作,但是第二种方法不起作用。

我想如果您希望通过jar启动应用程序的人员/进程可以注入文件路径,则可以使用-D 并且System.setProperty只是设置系统属性。 没有关于它的科学

在第一种情况下,系统属性是在JVM启动时以及任何代码开始执行之前设置的。 第二行仅在执行此行代码后生效。 如果该值较早被第三方库读取,则不会看到该值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM