如何将容易出错的插件(如Nullaway)添加到Maven构建中?

如何将容易出错的插件(如Nullaway)添加到Maven构建中?,maven,errorprone,Maven,Errorprone,Nullaway是一个帮助防止NPE的工具,作为一个容易出错的插件实现。他们的文档采用渐变构建配置 我如何让它与Maven一起工作 比较 至少需要maven编译器插件的3.5版 <profile> <id>errorprone</id> <build> <plugins> <plugin>

Nullaway是一个帮助防止NPE的工具,作为一个容易出错的插件实现。他们的文档采用渐变构建配置

我如何让它与Maven一起工作

比较

至少需要maven编译器插件的3.5版

    <profile>
        <id>errorprone</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <compilerId>javac-with-errorprone</compilerId>
                        <forceJavacCompilerUse>true</forceJavacCompilerUse>
                        <source>${java.version}</source>
                        <target>${java.version}</target>
                        <debug>${compile.debug}</debug>
                        <debuglevel>${compile.debuglevel}</debuglevel>
                        <!-- Add custom checks to the annotation processor classpath. -->
                        <annotationProcessorPaths>
                            <path>
                                <groupId>com.uber.nullaway</groupId>
                                <artifactId>nullaway</artifactId>
                                <version>0.1.7</version>
                            </path>
                        </annotationProcessorPaths>
                        <compilerArgs>
                            <!--<compilerArg>-Xep:NullAway:ERROR</compilerArg>-->
                            <compilerArg>-XepOpt:NullAway:AnnotatedPackages=com.example</compilerArg>
                        </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 on
                           Error Prone with the latest version -->
                        <dependency>
                            <groupId>com.google.errorprone</groupId>
                            <artifactId>error_prone_core</artifactId>
                            <version>2.1.1</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </profile>

容易出错
org.apache.maven.plugins
maven编译器插件
3.5.1
javac具有易出错特性
真的
${java.version}
${java.version}
${compile.debug}
${compile.debuglevel}
com.uber.nullaway
纳拉韦
0.1.7
-XepOpt:NullAway:AnnotatedPackages=com.example
org.codehaus.plexus
plexus编译器javac易出错
2.8
易出错
易出错的内核
2.1.1

我们在NullAway wiki中有一个例子: