【问题标题】:Is it possible to get maven to accept maxerrs for its compiler plugin?是否有可能让 maven 为其编译器插件接受 maxerrs ?
【发布时间】:2011-03-22 10:57:22
【问题描述】:

我有一个项目,我负责修复一些错误,而另一个开发人员负责其他错误。错误的数量远远超过一百个,当我正在修复我的错误时,她的错误正在堆积。我现在看到了她的 99 个错误和我的一个错误,我想我很快就会达到她的 100 个错误。我研究过将此配置用于 maven:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <compilerArgument>-Xmaxerrs 1000</compilerArgument>
  </configuration>
</plugin>

但没有骰子:

Failure executing javac,  but could not parse the error:
javac: invalid flag: -Xmaxerrs 1000
Usage: javac <options> <source files>
use -help for a list of possible options

在使用 javac 的命令行上,maxerrs 标志按预期工作,但我似乎无法使用它来使用 maven。

有什么想法吗?

【问题讨论】:

    标签: java maven-2 javac


    【解决方案1】:

    使用 "Map syntax" 为我工作:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.1</version>
        <configuration>
          <fork>true</fork>
          <compilerArguments>
            <Xmaxerrs>1000</Xmaxerrs>
          </compilerArguments>
        </configuration>
      </plugin>
    

    选项按预期传递:

    $ mvn 清理编译 -X ... [调试] 使用编译器“javac”。 [DEBUG] 源目录:[/home/pascal/Projects/stackoverflow/Q3358242/src/main/java] [调试] 类路径:[/home/pascal/Projects/stackoverflow/Q3358242/target/classes] [调试] 输出目录:/home/pascal/Projects/stackoverflow/Q3358242/target/classes [调试] 类路径: [调试] /home/pascal/Projects/stackoverflow/Q3358242/target/classes [DEBUG] 源码根: [调试] /home/pascal/Projects/stackoverflow/Q3358242/src/main/java [调试] 命令行选项: [调试] -d /home/pascal/Projects/stackoverflow/Q3358242/target/classes -classpath /home/pascal/Projects/stackoverflow/Q3358242/target/classes:-sourcepath /home/pascal/Projects/stackoverflow/Q3358242/src /main/java: /home/pascal/Projects/stackoverflow/Q3358242/src/main/java/com/stackoverflow/q3358242/App.java -g -nowarn -target 1.5 -source 1.5 -encoding UTF-8 -Xmaxerrs 1000 [INFO] 将 1 个源文件编译到 /home/pascal/Projects/stackoverflow/Q3358242/target/classes [信息] --------------------------------------------- ------------------------- [信息] 构建成功 [信息] --------------------------------------------- ------------------------- ...

    奇怪的是,当使用替代配置时,我得到了 完全相同的调试输出(使用 exact 相同的 命令行选项)你提供了...除了它由于执行 javac 失败而失败。你应该提出一个Jira issue,肯定有什么奇怪的。

    【讨论】:

    • @Pascal - 您在我的回答中指的是 “替代配置” 吗?
    • @Stephen 不,我指的是 OP 发布的配置,这是 IMO 正确的(我的意思是符合文档)。
    • @Stephen 刚刚测试了您的建议(您的答案之一),只有最后一个 compilerArgument 获得通过(此处为 1000)。我猜你不应该通过几个compilerArgument
    • @Mike 感谢您的反馈(和问题)。
    • 令人困惑的是 &lt;compilerArgs&gt;&lt;Xmaxerrs&gt;1000&lt;/Xmaxerrs&gt;&lt;/compilerArgs&gt; 不起作用(至少对于 3.2 插件),但这确实有效(另外,&lt;fork&gt;true&lt;/fork&gt; 似乎不是必需的)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 2016-04-20
    • 1970-01-01
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多