在Maven构建中,如何配置Nullaway以排除测试类?现在,它正在触发专门检查 NullPointerExceptions 是否在正确的位置抛出的代码。
要排除的代码位于习惯的 src/test/java 目录中,但与模型代码位于相同的包中。
您可以从容易出错的检查(包括 Nullaway(中排除测试源路径,如下所示:
<compilerArgs>
<arg>-Xep:NullAway:ERROR</arg>
<arg>-XepOpt:NullAway:AnnotatedPackages=[...]</arg>
<arg>-XepExcludedPaths:.*/src/test/java/.*</arg>
</compilerArgs>
NullAway是一个容易出错的插件。容易出错在其自己的编译器(Maven编译器IDjavac-with-errorprone
(的帮助下工作。我看到两种方法可以避免对测试类应用容易出错/空移:
-
如果所有相关类都包含
@Test
注释,则可以使用NullAway Maven插件的-XepOpt:NullAway:ExcludedClassAnnotations=depends.on.junit.version.Test
选项。 -
尝试通过在目标
testCompile
的 maven-compiler-plugin 配置中提供标准编译器 ID (<compilerId>javac</compilerId>
( 来禁用标准编译器在编译测试类时使用标准编译器来禁用容易出错。 有关如何为测试编译提供配置的示例,请参阅此处接受的答案。