मेरे पास मेवेन के साथ FindBugs @NonNull
एनोटेशन का परीक्षण करने के लिए नीचे दिया गया सरल कोड है। मैं निष्पादितपैकेज के तहत सभी कक्षाओं के लिए डिफ़ॉल्ट रूप से Findbugs NotNull सेट करें
mvn clean install
और इसे सही ढंग से निर्माण करने के लिए क्योंकि print(null)
में गैर-शून्य हालत का उल्लंघन करती है विफल रहता है।
आप वर्ग एनोटेशन
@DefaultAnnotation(NonNull.class)
मैं कैसे किसी दिए गए पैकेज के अंतर्गत सभी वर्गों के अंदर सभी विधि पैरामीटर के लिए डिफ़ॉल्ट (और उप के रूप में NonNull
सेट कर सकते हैं का उपयोग कर NonNull
एक वर्ग के अंदर सभी विधि पैरामीटर के लिए डिफ़ॉल्ट के रूप में सेट कर सकते हैं संकुल)?
src/main/java/test/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>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.5.2</version>
<configuration>
<includeTests>true</includeTests>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
<execution>
<id>findbugs-test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>