【发布时间】:2016-05-17 08:34:27
【问题描述】:
也许有一个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不隐藏?
【问题讨论】:
标签: java maven maven-3 maven-compiler-plugin