Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使maven编译器插件不隐藏错误源位置_Java_Maven_Maven 3_Maven Compiler Plugin - Fatal编程技术网

Java 如何使maven编译器插件不隐藏错误源位置

Java 如何使maven编译器插件不隐藏错误源位置,java,maven,maven-3,maven-compiler-plugin,Java,Maven,Maven 3,Maven Compiler Plugin,可能有一个maven编译器插件选项用于此,但我还没有找到它 当直接运行javac并打印错误时,在消息的第一行之后,它会在下一行显示受影响的源代码行,并且插入符号指向错误位置。看起来是这样的: com/invariantproperties/udt/sql/RationalUDT.java:324: error: cannot find symbol public static boolean lessThan(RRationalUDT p, double q) {

可能有一个
maven编译器插件
选项用于此,但我还没有找到它

当直接运行
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
[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
请注意,这些行直接指向我拼写错误的类型名称。
maven编译器插件
如下所示:

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
[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。)

好的,所以一开始我认为会有答案,因为它也是关于
maven编译器插件
没有显示整个错误消息,它说修复是更新到
maven编译器插件
3.1版

但对于这个问题,我尝试了2.4、3.1和3.5,但没有任何改进。显示错误的行始终缺失

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

在这里,
maven编译器插件
再次显示的只是:

[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编译器插件不隐藏它?

这是不可能的,一个功能请求已经在等待官方的批准

:编译错误应通过javac工具报告

在撰写本文时,票证处于打开状态,自2014年7月25日起创建


你可以提议一个补丁,或者——至少——投票支持这张票(我刚刚做了)。

不错,我搜索了一个,但没有找到。