簡體   English   中英

如何使Maven-compiler-plugin不隱藏錯誤源位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM