[英]maven-compiler-plugin: How to tell it where the source directories are located?
[英]How to make maven-compiler-plugin not hide error source locations
也許有一個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
注意,它擺脫了實際指向error的行 。 (這是使用Oracle JDK7。)
好的,所以起初我以為這個老問題將得到答案,因為它也是關於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
不隱藏它?
這是不可能的,並且功能請求已在官方Maven Compiler JIRA上掛起
MCOMPILER-229 :javac工具應報告編譯錯誤
該票證在撰寫本文時處於OPEN狀態,從25 / Jul / 14開始創建。
您可以提出補丁,也可以-至少-為票證投票(我剛剛做了)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.