我运行时不明白某些行为:
mvn -V clean -Dorg.slf4j.simpleLogger.showThreadName=true
我明白了:
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12- 14T18:29:23+01:00)
Java version: 1.8.0_31, vendor: Oracle Corporation
...
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
因此,看起来slf4j无法识别属性org.slf4j.simpleLogger.showThreadName
当我在conf/logging/simplelogger.properties
中更改此属性时,我得到:
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T18:29:23+01:00)
Java version: 1.8.0_31, vendor: Oracle Corporation
...
[main] [INFO] Scanning for projects...
[main] [INFO] ------------------------------------------------------------------------
现在我有了我的期望。
同样mvn help:system -Dorg.slf4j.simpleLogger.showThreadName=true
表示已设置属性。
我做错了什么?
我想使用cli来设置sl4j的属性。我不想改变maven内部配置文件。
答案 0 :(得分:6)
-D
option到mvn
将参数设置为maven property。 org.slf4j.simpleLogger.showThreadName是Java system property。 Maven属性包括Java系统属性,但反之亦然。
将java系统属性传递给maven使用的库(例如slf4j)的最简单方法是将其添加到MAVEN_OPTS环境变量中。