java – 强制IntelliJ使NonNull违规的编译失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 强制IntelliJ使NonNull违规的编译失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1748字,纯文字阅读大概需要3分钟。
内容图文
我有以下简单的代码来测试IntelliJ中的NonNull注释.
然后我去:
IntelliJ – >档案 – >设置 – >检查 – >可能的错误 – >恒定条件和例外
我设置Severity:作为错误.
这样做,它标记“print(null);”行如预期的错误.
但是,执行IntelliJ – >构建 – >重建项目,
它工作,它没有显示任何错误,也没有显示任何警告.
为什么会这样?为什么IntelliJ在构建项目时不会抱怨?
如何查看NonNull违规列表?
如果发现NonNull违规,有没有办法强制IntelliJ使编译失败?
注意:设置IntelliJ以考虑firebug注释(默认情况下);
而且,使用org.jetbrains.annotations.NotNull会产生完全相同的结果.
的src /主/爪哇/测试/ Hello.java
package test;
import edu.umd.cs.findbugs.annotations.NonNull;
public class Hello {
static public void print(@NonNull Object value) {
System.out.println("value: " + value.toString());
}
static public void main(String[] args) {
if (args.length > 0) {
print(args[0]);
} else {
print(null);
}
}
}
和pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>hello</groupId>
<artifactId>hello</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>net.sourceforge.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>net.sourceforge.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>1.3.7</version>
</dependency>
</dependencies>
</project>
解决方法:
代码检查不是编译器错误,如果检查报告了某些问题,即使严重性级别设置为错误,也无法编译失败.
要获得项目范围的结果,请使用Analyze |使用适当的检查配置文件检查代码.
在IDEA项目问题跟踪器中有similar feature request,但它似乎不是很受欢迎(差不多2岁零票).
内容总结
以上是互联网集市为您收集整理的java – 强制IntelliJ使NonNull违规的编译失败全部内容,希望文章能够帮你解决java – 强制IntelliJ使NonNull违规的编译失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。