Error-prone
一、工具介绍
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相关推荐
- androd11 编译 Manually written binder interfaces are considered error prone and frequently have bugs.
错误:error: static_assert failed due to requirement 'internal::allowedManualInterface("android.te ...
- Error Prone Installation
安装 我们的目标是简化将Error Prone检查添加到现有的Java编译中.请注意,Error Prone必须在JDK 8或更高版本上运行.你可以通过设置适当的-source / -target / ...
- QT警告Slots named on_foo_bar are error prone
问题现象: 引起的原因: 这个警告的出现,是因为我们在处理信号–槽关系时,是通过 ui designer中的"Go to slot" ,让程序自动生成. 而这种自动生成的弱点就是也 ...
- hic染色体构想_了解微服务:从构想到起点
hic染色体构想 by Michael Douglass 迈克尔·道格拉斯(Michael Douglass) 了解微服务:从构想到起点 (Understanding Microservices: F ...
- 调试代码遗留_陷入遗留代码地狱吗? 这里有一些想法可以帮助您处理情况
调试代码遗留 by Felipe Lopes 通过Felipe Lopes 陷入遗留代码地狱吗? 这里有一些想法可以帮助您处理情况 (Stuck in legacy code hell? Here a ...
- C++官方自带可持久化平衡树rope的3000行源码
C++官方rope3000行源码 // SGI's rope class -*- C++ -*-// Copyright (C) 2001-2015 Free Software Foundation, ...
- 在ASP.NET MVC应用中开发插件框架(中英对照)
[原文] Developing a plugin framework in ASP.NET MVC with medium trust [译文] 在ASP.NET MVC应用中开发一个插件框架 I'v ...
- 检查Android应用程序是否在后台运行
本文翻译自:Checking if an Android application is running in the background 在后台,我的意思是用户当前看不到应用程序的任何活动? #1楼 ...
- 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 ...
- java bip-39_bip39
BIP: 39 (助记词)Layer: Applications Title: Mnemonic codeforgenerating deterministic keys Author: Marek ...
最新文章
- vs找不到dll_零基础学习Python_绝对VS相对
- SVM 推到期间 遇到的 表背景知识 (间隔最大化)
- Heroku和Java –从新手到初学者,第1部分
- 5 年 Python 的我,总结了这 90 条写 Python 程序的建议
- RTMP规范简单分析
- topcoder srm 440 div1
- 如何配置风骚的android studio编辑器,让编程更优雅?
- Object-C语法
- Java NIO 详解
- 限制整个手机的网速 -- 360免费wifi
- 一次成功——奶香提子酥
- 概率论第五章——总体与样本
- VO、DTO、BO、QO、DO 如何使用,在那一层使用,一张图告诉你;别再纠结命名规则啦,我来告诉你
- R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)
- web爬虫学习(四)——手机APP爬取
- zeppelin入门使用
- 施努卡:国内机器视觉公司(哪些公司做机器视觉检测特别厉害的)
- KubeSphere DevOps流水线部署
- ym——Andorid-15k+的面试题。
- 关于vSAN存储策略的那些事