2016-02-07 15 views
8

Forse c'è un'opzione maven-compiler-plugin per questo, ma non l'ho trovata.Come rendere maven-compiler-plugin non nascondere i percorsi di origine degli errori

Quando javac viene eseguito direttamente e stampa un errore, dopo la prima riga del messaggio, che mostra la linea interessata fonte con un accento circonflesso sulla riga successiva che punta alla posizione di errore. Assomiglia a questo:

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 

Notare le righe che puntano direttamente a dove ho scritto male il nome del tipo. Il maven-compiler-plugin mostra in questo modo:

[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 

notarlo è sbarazzato della linea (s) in realtà indicando l'errore. (Questo sta usando Oracle JDK 7.)

Ok, quindi all'inizio pensavo che this older question avrebbe avuto la risposta, perché era anche su maven-compiler-plugin non mostrando l'intero messaggio di errore, e ha detto che la correzione era di aggiornare a maven-compiler-plugin versione 3.1.

Ma per questo problema ho provato 2.4, 3.1 e 3.5 senza alcun miglioramento. Le linee che mostrano l'errore sono sempre mancanti.

Questo vale per qualsiasi errore javac. Nell'esempio ho scritto male un simbolo solo per ottenere lo stesso errore di cui parlava la domanda precedente. Ma posso risolvere quello e fare un altro (questo viene da un processore javac annotazione):

com/invariantproperties/udt/sql/RationalUDT.java:324: error: No known mapping to an SQL type 
    public static boolean lessThan(RationalUDT p, double q) { 
              ^

e qui ancora una volta ciò che i maven-compiler-plugin spettacoli è solo:

[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 

Voglio dire, almeno mostra la linea e la colonna tra parentesi, quindi non è totalmente impossibile trovare l'errore, ma la visualizzazione normale da javac è ancora più utile. C'è un modo per avere il maven-compiler-plugin non nasconderlo?

risposta

1

Questo non è possibile e una richiesta di funzionalità è già in corso sulla Gazzetta Maven Compiler JIRA

MCOMPILER-229: Compilazione errore dovrebbe essere riportato come da strumento javac

Il biglietto è in stato di APERTO al momento della scrittura e creato dal 25/Jul/.

Puoi proporre una patch o - almeno - votare per il biglietto (l'ho appena fatto).

+0

Ah bene, ho cercato uno ma non ho potuto trovarlo. – Tunaki

Problemi correlati