属性文件与环境变量

时间:2017-06-06 19:32:27

标签: java

嘿,我想知道.propertiesenvironment variable档与java之间的区别是什么。

.Properties文件

arg1=text1

arg2=text2

环境变量

java -jar -arg1=text1 -arg2=text2 myJAR.jar

2 个答案:

答案 0 :(得分:0)

以这种方式传递参数在运行时不可覆盖:

java -jar -arg1=text1 -arg2=text2 myJAR.jar

因为在应用程序启动时传递了值
您必须重新启动应用程序才能更改值 此外,传递大量论据可能容易出错。

以这种方式对属性进行赋值可能在运行时可以覆盖:

.Properties file 
arg1=text1 
arg2=text2

由于值位于可在应用程序运行期间修改的外部文件中。当然,必须在应用程序中实现预期在运行时期间考虑文件修改的方法 例如,Logback(使用Joran实现)提供了一种方法 在运行时更改Logback配置文件: https://logback.qos.ch/manual/configuration.html#joranDirectly

答案 1 :(得分:0)

环境变量是在调用程序时传递给key-value对的,而properties文件由属性列表及其值组成。通常,属性文件被认为是维护配置值的最佳实践,这就是原因:

  • 属性文件比环境变量更具可读性。此外,它们与启动脚本无关,我们可以在运行程序时传递任何文件。
  • Spring等框架提供了从属性文件创建collectionmap的不同方法。
  • 为不同的环境(例如舞台,节目等)使用不同的properties文件很容易