0

在 Maven 构建中,如何配置 Nullaway 以排除测试类?现在它正在触发专门检查 NullPointerExceptions 是否在正确位置抛出的代码。

要排除的代码位于通常的 src/test/java 目录中,但与模型代码位于相同的包中。

4

2 回答 2

0

您可以从 Errorprone 检查(包括 Nullaway)中排除测试源路径,如下所示:

<compilerArgs>
  <arg>-Xep:NullAway:ERROR</arg>
  <arg>-XepOpt:NullAway:AnnotatedPackages=[...]</arg>
  <arg>-XepExcludedPaths:.*/src/test/java/.*</arg>
</compilerArgs>
于 2020-05-25T10:45:35.597 回答
-1

NullAway 是一个容易出错的插件。Error Prone 在其自己的编译器(Maven 编译器 ID javac-with-errorprone)的帮助下工作。我看到有两种方法可以避免对测试类应用 Error Prone/NullAway:

  1. 如果所有相关类都包含@Test注释,那么您可以使用-XepOpt:NullAway:ExcludedClassAnnotations=depends.on.junit.version.TestNullAway Maven 插件的选项。

  2. 尝试通过<compilerId>javac</compilerId>在目标的 maven-compiler-plugin 配置中提供标准编译器 id() 来在编译测试类时使用标准编译器来禁用易出错testCompile。有关如何为测试编译提供配置的示例,请参阅此处接受的答案。

于 2018-05-08T14:42:09.067 回答