Maven Java不会警告您进行非详尽的转换

问题描述 投票:0回答:1

如果打开枚举,既不涵盖所有情况,也不提供默认值,则收到编译器警告会很有用。该站点上的其他答案都建议javac应该提供这样的警告。

我正在使用Maven,并将以下内容添加到pom.xml中,以尝试启用所有警告:

    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.0</version>
      <configuration>
        <compilerArgs>
          <arg>-Xlint:all</arg>
        </compilerArgs>
        <showDeprecation>true</showDeprecation>
        <showWarnings>true</showWarnings>
      </configuration>
    </plugin>

但是编译器仍然对我的代码中非详尽的switch语句保持沉默。我是否可以设置其他标志以启用此类警告?

java maven switch-statement compiler-warnings
1个回答
0
投票

由于以下原因,我知道此类警告:

注解处理器将确保您收到编译时错误。该项目还包括您可能要使用的部分enum-mapper类,而不是switch语句。

该项目为tmtron/enum-mapper,因此您可以将其添加到依赖项中。

重点仍然是:

tmtron/enum-mapper之类的available in Maven Central可能不足以捕捉该部分开关枚举用例。它只会检测穿透情况:javac non-standard option块中的情况,除了该块中的最后一个情况之外,其代码不包含break语句

,从而允许代码执行从该情况中“失败”到下一个案例
© www.soinside.com 2019 - 2024. All rights reserved.