一、工具介绍

Error-prone是什么?

它是,

静态的Java和Android bug分析利器
由Google出品
由error-prone接管compiler,在代码编译时进行检查,并抛出错误中断执行
在抛出错误的同时给出具体的原因和相应方案
更为全面了解Error-prone,请阅读全文:Error-prone,Google出品的Java和Android Bug分析利器

二、安装

此工具的安装方式是通过Maven进行部署,之后在编译阶段会运行检查,从而报告可能的代码问题,Maven需要配置的部分如下:

            <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5</version><configuration><!--NullAway依赖于errorprone进行构建--><compilerId>javac-with-errorprone</compilerId><forceJavacCompilerUse>true</forceJavacCompilerUse><source>1.8</source><target>1.8</target><showWarnings>true</showWarnings><annotationProcessorPaths><!--同时在注解处理器中配置lombok,配适用项目中的一些注解--><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version></path></annotationProcessorPaths><compilerArgs><arg>-XDcompilePolicy=simple</arg><arg>-Xplugin:ErrorProne</arg></compilerArgs></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 onError Prone with the latest version --><dependency><groupId>com.google.errorprone</groupId><artifactId>error_prone_core</artifactId><version>2.3.4</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version></dependency><dependency><groupId>com.google.code.findbugs</groupId><artifactId>annotations</artifactId><version>3.0.1</version></dependency></dependencies></plugin>

将上述代码配置到pom文件中,就可以开始扫描了。

Error-prone相关推荐

  1. androd11 编译 Manually written binder interfaces are considered error prone and frequently have bugs.

    错误:error: static_assert failed due to requirement 'internal::allowedManualInterface("android.te ...

  2. Error Prone Installation

    安装 我们的目标是简化将Error Prone检查添加到现有的Java编译中.请注意,Error Prone必须在JDK 8或更高版本上运行.你可以通过设置适当的-source / -target / ...

  3. QT警告Slots named on_foo_bar are error prone

    问题现象: 引起的原因: 这个警告的出现,是因为我们在处理信号–槽关系时,是通过 ui designer中的"Go to slot" ,让程序自动生成. 而这种自动生成的弱点就是也 ...

  4. hic染色体构想_了解微服务:从构想到起点

    hic染色体构想 by Michael Douglass 迈克尔·道格拉斯(Michael Douglass) 了解微服务:从构想到起点 (Understanding Microservices: F ...

  5. 调试代码遗留_陷入遗留代码地狱吗? 这里有一些想法可以帮助您处理情况

    调试代码遗留 by Felipe Lopes 通过Felipe Lopes 陷入遗留代码地狱吗? 这里有一些想法可以帮助您处理情况 (Stuck in legacy code hell? Here a ...

  6. C++官方自带可持久化平衡树rope的3000行源码

    C++官方rope3000行源码 // SGI's rope class -*- C++ -*-// Copyright (C) 2001-2015 Free Software Foundation, ...

  7. 在ASP.NET MVC应用中开发插件框架(中英对照)

    [原文] Developing a plugin framework in ASP.NET MVC with medium trust [译文] 在ASP.NET MVC应用中开发一个插件框架 I'v ...

  8. 检查Android应用程序是否在后台运行

    本文翻译自:Checking if an Android application is running in the background 在后台,我的意思是用户当前看不到应用程序的任何活动? #1楼 ...

  9. How Kafka’s Storage Internals Work

    In this post I'm going to help you understand how Kafka stores its data. I've found understanding th ...

  10. java bip-39_bip39

    BIP: 39 (助记词)Layer: Applications Title: Mnemonic codeforgenerating deterministic keys Author: Marek ...

最新文章

  1. vs找不到dll_零基础学习Python_绝对VS相对
  2. SVM 推到期间 遇到的 表背景知识 (间隔最大化)
  3. Heroku和Java –从新手到初学者,第1部分
  4. 5 年 Python 的我,总结了这 90 条写 Python 程序的建议
  5. RTMP规范简单分析
  6. topcoder srm 440 div1
  7. 如何配置风骚的android studio编辑器,让编程更优雅?
  8. Object-C语法
  9. Java NIO 详解
  10. 限制整个手机的网速 -- 360免费wifi
  11. 一次成功——奶香提子酥
  12. 概率论第五章——总体与样本
  13. VO、DTO、BO、QO、DO 如何使用,在那一层使用,一张图告诉你;别再纠结命名规则啦,我来告诉你
  14. R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)
  15. web爬虫学习(四)——手机APP爬取
  16. zeppelin入门使用
  17. 施努卡:国内机器视觉公司(哪些公司做机器视觉检测特别厉害的)
  18. KubeSphere DevOps流水线部署
  19. ym——Andorid-15k+的面试题。
  20. 关于vSAN存储策略的那些事

热门文章

  1. 【翻译】Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks
  2. python实现滤波器
  3. markdown修改文字背景色
  4. SecureCRT8.0的使用及其激活
  5. Oracle中文的排序方式
  6. 监控电池电量和充电状态
  7. 每天一个python小技巧
  8. 计算机应用目录怎么生成,自动生成目录怎么弄-excel超链接应用:快速生成目录的几个方法-下...
  9. 红豆Live 推荐算法中召回和排序的应用和策略
  10. Matlab 并行计算及GPU计算