My Effective Maven

My Effective Maven

我的Effective Maven使用笔记

mvn 命令

mvn输出增加线程ID

1
MAVEN_OPTS=-Dorg.slf4j.simpleLogger.showThreadName=true mvn <goals>

https://maven.apache.org/maven-logging.html

pom.xml

定义源码位置

设置Maven 源代码的位置

1
2
3
<properties>
<src.dir>src/main/java</src.dir>
</properties>

单元测试

maven-surefire-plugin的Junit配置

  • 在TestCase中增加@DisplayName注解,用于展示自定义测试名。
  • 树状结构打印单元测试结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<!-- 注意版本要高于3.0.0-M4 -->
<version>3.1.2</version>
<dependencies>
<dependency>
<groupId>me.fabriciorby</groupId>
<artifactId>maven-surefire-junit5-tree-reporter</artifactId>
<version>0.1.0</version>
</dependency>
</dependencies>
<configuration>
<reportFormat>plain</reportFormat>
<consoleOutputReporter>
<disable>true</disable>
</consoleOutputReporter>
<statelessTestsetInfoReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoTreeReporter"/>
</configuration>
</plugin>

日志输出样例:

1
2
3
4
5
6
7
8
9
[INFO] |
[INFO] +-- 语法解析测试
[INFO] | +-- [OK] parse01 - 0.001 ss
[INFO] | +-- [OK] parse02 - 0.001 ss
[INFO] | +-- [OK] parse03 - 0.010 ss
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 70, Failures: 0, Errors: 0, Skipped: 0