当前位置: 首页 > 面试题库 >

是否有可能让Maven为其编译器插件接受maxerrs?

殳自怡
2023-03-14
问题内容

我有一个项目,负责修复一些错误,另一个开发人员负责其他错误。错误的数量远远超过一百,在我修复错误时,她的错误不断堆积。我现在看到她的错误中有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标志可以按预期工作,但我似乎无法迅速使用它。

有任何想法吗?


问题答案:

使用“地图语法”对我有用:

  <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 clean编译-X
...
[DEBUG]使用编译器'javac'。
[DEBUG]源目录:[/ home / pascal / Projects / stackoverflow / Q3358242 / src / main / java]
[DEBUG]类路径:[/ home / pascal / Projects / stackoverflow / Q3358242 / target / classs]
[DEBUG]输出目录:/ home / pascal / Projects / stackoverflow / Q3358242 / target / classes
[DEBUG]类路径:
[DEBUG] / home / pascal / Projects / stackoverflow / Q3358242 / target / classes
[DEBUG]源代码根目录:
[调试] / home / pascal / Projects / stackoverflow / Q3358242 / src / main / java
[DEBUG]命令行选项:
[DEBUG] -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
[INFO] ----------------------------------------------- -------------------------
[INFO]建立成功
[INFO] ----------------------------------------------- -------------------------
...

奇怪的是,我得到了 完全相同的调试输出 (与 确切 相同 的命令行选项 使用您提供…但它失败的替代配置时),由于
未能执行的javac
。您应该提出一个关于Jira的问题,肯定有一些奇怪的事情。



 类似资料:
  • 我正在尝试用我的项目设置mapstruct,我已经习惯了通过简单的jvm代理来完成的lombok,所以我真的不明白如何让mapstruct工作。 这是我的pom: 请注意,在mapstruct进入游戏之前,我不需要整个maven编译插件块:一切都很好。我可以毫无问题地构建springboot胖jar,无需明确指定spring和lombok注释处理。。。那是非常美好的时光。 现在我甚至不确定我是否在

  • 新的Maven项目是在eclipse中创建的。但是Pom.xml显示了一些错误。 “无法计算构建计划:Plugin org.apache.maven。插件:maven resources插件:2.6或其一个依赖项无法解析:未能读取org.apache.maven的工件描述符。插件:maven resources插件:jar:2.6 Plugin org.apache.maven。插件:maven

  • 问题内容: 我正在尝试从Maven内部执行繁琐的任务,而无需安装Node.js或任何东西。这是因为我不想将我的工件由Jenkins打包,也无法在该机器上安装Node.js。 我知道使用npm很容易,并且有一些命令可以使它正常工作,但是我也认为与maven集成应该很容易,问题是我不知道从哪里开始,因为我是npm的新手。 问题答案: 是的,使用frontend-maven-plugin,您可以通过Ma

  • 问题内容: 拿这个对象: 如果我这样做: 然后y将返回。通过stringify传递函数有什么能做的吗?使用“ ye goode olde eval()”可以创建具有附加功能的对象,但是打包该对象又是什么呢? 问题答案: 您不能打包函数,因为任何序列化程序都看不到函数关闭的数据。甚至Mozilla 也无法正确打包闭包。 最好的选择是使用复活器和替换器。 https://yuilibrary.com/

  • 问题内容: 我意识到这更多是语义上的追求,而不是功能上的追求。 我有三种类型的编译范围依赖项: 仅编译范围,在运行时不使用。GWT客户端开发人员,MVP4G,RestyGWT,源保留注释处理器。我使用REST,因此不需要GWT服务器端。 提供-编译所需的Hibernate jar,但由JBoss提供。 编译+运行时jars。 对于情况2,我们可以使用提供的范围。情况3,我们将使用编译范围。 但是,

  • 介绍 rustc可以加载编译器插件,它是由用户提供的库用来扩充编译器的行为,例如新的语法扩展,lint检查等。 一个插件是带有设计好的用来在rustc中注册扩展的注册(registrar)函数的一个动态库包装箱。其它包装箱可以使用#![plugin(...)]属性来装载这个扩展。查看rustc::plugin文档来获取更多关于定义和装载插件的机制。 如果属性存在的话,#![plugin(foo(.