土狗的小抄本 -- 使用ErrorProne 做代码检查

介绍

点此查看官方文档

官方原文介绍如图,下方是个人的白话简述

输入图片说明

简单的来说,java 编译器在编译期间能够进行一些 'static type checking' ,也就是编译器类型检查,仅此而已。而ErrorProne能够在编译期间进行更深一步的检查,下文会给出直观的对比说明。

安装

maven 在pom 文件内添加如下片段,注意不要出现多个 maven-compiler-plugin。

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.3</version>
      <configuration>
        <compilerId>javac-with-errorprone</compilerId>
        <forceJavacCompilerUse>true</forceJavacCompilerUse>
        <!-- maven-compiler-plugin defaults to targeting Java 5, but our javac
             only supports >=6 -->
        <source>7</source>
        <target>7</target>
      </configuration>
      <dependencies>
        <dependency>
          <groupId>org.codehaus.plexus</groupId>
          <artifactId>plexus-compiler-javac-errorprone</artifactId>
          <version>2.8</version>
        </dependency>
        <!-- override plexus-compiler-javac-errorprone's dependency on
             Error Prone with the latest version -->
        <dependency>
          <groupId>com.google.errorprone</groupId>
          <artifactId>error_prone_core</artifactId>
          <version>2.0.15</version>
        </dependency>
      </dependencies>
    </plugin>
  </plugins>
</build>

工具配置 IntelliJ IDEA

安装 Intellij ErrorProne插件 。(不会安装的自行百度如何安装插件吧)

启动 Error Prone, 设置 Settings | Compiler | Java Compiler | Use compiler: Javac with error-prone 。如果 Settings | Compiler | Use external build 有这个选项,则确保此选项没有选中。

以上就完成了 maven 配置及插件安装(注意,gradle 和 ant ,eclipse 等也是支持的,只是这里没有讲解)。

效果

如图

输入图片说明

上图中的两段代码,在正常的javac 编译时候是不会出现错误的,这里就不贴图证明了。

配置了ErrorProne 之后,编译效果如下:

输入图片说明

一个说array 进行直接toString 的问题,一个是 Set 使用Short泛型后,加入Integer类型的问题。自行感受吧。

后记将补充更多的关于ErrorProne的使用说明,请持续关注。

转载于:https://my.oschina.net/2go/blog/810480

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值