gpt4 book ai didi

java - 如何使 maven-compiler-plugin 不隐藏错误源位置

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:56:43 26 4
gpt4 key购买 nike

也许有一个 maven-compiler-plugin 选项,但我还没有找到它。

javac 直接运行并打印错误时,在消息的第一行之后,它显示受影响的源行,并在下一行指向到错误位置。它看起来像这样:

com/invariantproperties/udt/sql/RationalUDT.java:324: error: cannot find symbol
public static boolean lessThan(RRationalUDT p, double q) {
^
symbol: class RRationalUDT
location: class RationalUDT

请注意直接指向我拼错类型名称的地方的行。 maven-compiler-plugin 显示如下:

[ERROR] /var/tmp/pljava-udt-type-extension/java/src/main/java/com/invariantproperties/udt/sql/RationalUDT.java:[324,36] cannot find symbol
symbol: class RRationalUDT
location: class com.invariantproperties.udt.sql.RationalUDT

注意它去掉了实际指向错误的行。 (这是使用 Oracle JDK 7。)

好吧,一开始我以为this older question会有答案,因为它也是关于 maven-compiler-plugin 没有显示整个错误消息,它说修复是更新到 maven-compiler-plugin 3.1 版。

但是这个问题我试过2.4、3.1、3.5都没有任何改善。显示错误的行总是丢失。

这适用于任何 javac 错误。在这个例子中,我拼错了一个符号只是为了得到与旧问题所谈论的相同的错误。但我可以修复那个并制作另一个(这个来自 javac 注释处理器):

com/invariantproperties/udt/sql/RationalUDT.java:324: error: No known mapping to an SQL type
public static boolean lessThan(RationalUDT p, double q) {
^

maven-compiler-plugin 再次显示的是:

[ERROR] /var/tmp/pljava-udt-type-extension/java/src/main/java/com/invariantproperties/udt/sql/RationalUDT.java:[324,47] error: No known mapping to an SQL type

我的意思是,至少它在括号中显示了行和列,因此并非完全不可能找到错误,但是 javac 的正常显示更有帮助。有没有办法让 maven-compiler-plugin 不隐藏它?

最佳答案

这是不可能的,功能请求已经在官方 Maven Compiler JIRA 上等待处理

MCOMPILER-229: Compilation error should be reported as by javac tool

在撰写本文时,工单处于OPEN状态,并且自 25/Jul/14 以来创建。

您可以提出一个补丁,或者 - 至少 - 投票选票(我刚刚做到了)。

关于java - 如何使 maven-compiler-plugin 不隐藏错误源位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35256796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com