malf和slf4j simplelogger的属性

Sla*_*ski 2 logging slf4j maven

我跑的时候不明白一些行为:

mvn -V clean -Dorg.slf4j.simpleLogger.showThreadName=true
Run Code Online (Sandbox Code Playgroud)

我明白了:

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] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

因此,看起来org.slf4j.simpleLogger.showThreadNameslf4j无法识别属性

当我改变这个属性时,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] ------------------------------------------------------------------------ 
Run Code Online (Sandbox Code Playgroud)

现在我有了我的期望.

mvn help:system -Dorg.slf4j.simpleLogger.showThreadName=true说财产已经确定.

我做错了什么?

我想用cli来设置sl4j的属性.我不想改变maven内部配置文件.

sor*_*oru 6

-D 选项mvn设置的参数作为Maven的财产.org.slf4j.simpleLogger.showThreadName是一个Java系统属性.Maven属性包括Java系统属性,但反之亦然.

将java系统属性传递给maven使用的库(例如slf4j)的最简单方法是将其添加到MAVEN_OPTS环境变量中.