也许有一个maven-compiler-plugin
这个选项,但我还没有找到。
When 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。)
好吧,一开始我以为这个较旧的问题 https://stackoverflow.com/q/14164386/4062350将会得到答案,因为这也与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
不隐藏吗?