【问题标题】:Parse @Override annotation with maven compiler plugin使用 maven 编译器插件解析 @Override 注释
【发布时间】:2013-06-29 11:43:14
【问题描述】:

我有一个不解析 @Override 注释的 maven 项目,即我的项目中缺少一些 @Override 注释但是当我运行 maven 目标编译(使用 maven 编译器插件 3.1)时,它不会向我显示警告关于缺少 @Override 注释,如何设置 maven 编译器插件,以便显示有关缺少 @Override 注释的警告? 这是我的插件:

<plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.1</version>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>
            <showWarnings>true</showWarnings>
            <showDeprecation>true</showDeprecation>
            <compilerArgument>-Xlint:unchecked</compilerArgument>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.6</version>
        </plugin>
        <plugin>

【问题讨论】:

  • 我有一个基本的想法,可以使用 maven 编译器插件的&lt;compilerArgument&gt; 属性,但是我必须传递什么参数来正确解析丢失的注释?
  • 这看起来很像静态分析工具的工作......但否则你可以使用-Xlint:all (IIRC)
  • 另一种选择是使用您的 IDE,例如Eclipse 来检测这些错误。您甚至可以将 Eclipse 设置为自动添加缺少的 @Override 注释作为保存操作。
  • 我使用Netbeans,并认为我已经找到了解决方案:-Xlint:overrides,但我已经取消选中,我只需要这两个参数,我怎样才能将参数添加到Xlint? -Xlint:unchecked overrides 不起作用... maven 返回构建故障

标签: java maven-compiler-plugin


【解决方案1】:

我找到了解决方案: 只需在 maven 编译器插件配置中添加这些行:

    <compilerArgs>
      <arg>-Xlint:rawtypes</arg>
      <arg>-Xlint:overrides</arg>
    </compilerArgs>

或者,更一般地说:

-Xlint:全部

@fge 在对问题的评论中正确建议

【讨论】:

    猜你喜欢
    • 2017-03-01
    • 2021-11-27
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2013-03-07
    • 1970-01-01
    相关资源
    最近更新 更多