Cha*_*ack 8 java maven-3 maven maven-compiler-plugin
也许有一个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
Run Code Online (Sandbox Code Playgroud)
注意直接指向我拼写错误类型名称的行.它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
Run Code Online (Sandbox Code Playgroud)
注意它摆脱了实际指向错误的行.(这是使用Oracle JDK 7.)
好的,所以起初我认为这个较旧的问题会得到答案,因为它也maven-compiler-plugin没有显示整个错误消息,并且说修复程序是更新到maven-compiler-plugin3.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) {
^
Run Code Online (Sandbox Code Playgroud)
而这里的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
Run Code Online (Sandbox Code Playgroud)
我的意思是,至少它显示括号中的行和列,因此找到错误并非完全不可能,但正常显示javac更有帮助.有什么方法可以maven-compiler-plugin不隐藏吗?
这是不可能的,并且官方Maven 编译器 JIRA上的功能请求已待处理
MCOMPILER-229:javac 工具应报告编译错误
在撰写本文时,该票证处于OPEN状态,自2014年 7 月 25 日起创建。
你可以提出一个补丁或者 - 至少 - 投票支持票(我刚刚这样做了)。
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |