slf4j simplelogger 的 Maven 和属性

Maven and properties for slf4j simplelogger

我不理解 运行:

时的某些行为
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] ------------------------------------------------------------------------

所以,看起来 属性 org.slf4j.simpleLogger.showThreadName 没有被 slf4j

识别

当我在 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 内部配置文件。

-D option to mvn sets the argument as a maven property. org.slf4j.simpleLogger.showThreadName is a Java system property。 Maven 属性包括 Java 系统属性,但反之则不然。

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