Maven的生命周期以及spotbugs插件配置
摘要
摘要
本文旨在介绍何谓Maven的生命周期,以及spotbugs代码检查工具的使用。
目录
(点击可直接跳转)
目录
(点击可直接跳转)*1.前言
*2.配置spotbugs代码检查插件
*3.Maven的生命周期
1.前言
用了这么久的mvn test命令来测试自己的代码有没有bug,我居然一直不知道这个命令的内涵是啥,有时候用mvn test也可以,用mvn verify也可以。学习过后才知道,这里面涉及了Maven的生命周期问题。下面就稍微记录一下自己学习的这个过程,有不对的地方非常欢迎指出,会及时修改。
2.配置spotbugs代码检查插件
spotbugs的前身叫findbugs,但是findbugs在Java 9以后就不维护了,继而衍生了spotbugs,也是非常强大的代码检查工具。
首先进入spotbugs官网,根据自己的需求找到对应的帮助文档。这里,我使用的是Maven,所以我需要将如下代码加入pom.xml文件中,代码源自官方文档。
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.1.12</version>
<dependencies>
<!-- overwrite dependency on spotbugs if you want to specify the version of spotbugs -->
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs</artifactId>
<version>4.0.0-beta3</version>
</dependency>
</dependencies>
</plugin>
如图所示:
public static void main(String[] args){
Integer i = null;
if (i == 1) {
}
}
很明显,Integer在拆箱时会产生一个空指针异常。这时候我们运行mvn test
<executions>
<execution>
<id>spotbugs</id>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
如图所示:
mvn spotbugs:gui命令可以看到图形化的界面。
3.Maven的生命周期
通过Maven官方文档我们可以看到Maven定义了三套生命周期,包括Clean Lifecycle/Default Lifecycle/Site Lifecycle,最常用的就是默认的了。
可以看到默认的声明周期包括如下阶段: