也许这有一个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
没有显示整个错误消息,它说修复是更新到{{ 1}}版本3.1。
但对于这个问题,我尝试过2.4,3.1和3.5而没有任何改进。显示错误的行总是丢失。
这适用于任何maven-compiler-plugin
错误。在示例中,我拼错了一个符号,只是为了得到与旧问题所讨论的相同的错误。但是我可以解决这个问题并制作另一个(这个来自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
不隐藏它?
答案 0 :(得分:1)
这是不可能的,官方Maven Compiler JIRA
上已有待处理的功能请求MCOMPILER-229:应通过javac工具
报告编译错误
在撰写本文时,故障单的状态为 OPEN ,并在25 / Jul / 14 后创建。
你可以提出一个补丁,或者 - 至少 - 投票给我(我刚刚做过)。