Eclipse utilizza il proprio compilatore (ECJ) per compilare il codice Java. Il debug di un programma compilato con Eclipse è più semplice, poiché è possibile applicare immediatamente modifiche al codice semplici (mediante la sostituzione del codice caldo).Utilizzo di Eclipse Java Compiler (ecj) nelle build di maven
Maven utilizza invece (per impostazione predefinita) oracle JDK, che genera codice byte diverso che impedisce la sostituzione del codice hot in una sessione di debug di Eclipse.
Quindi mi piacerebbe utilizzare il compilatore ECL di Eclipse con la mia build di maven, se ho intenzione di eseguire il debug del programma. Un modo conveniente per me sarebbe una "Corte di giustizia europea" profilo:
Compile rilasciare
$ mvn package
Compile un'istantanea con sostituzione del codice a caldo abilitata
$ mvn -P ecj package
anche il profilo l'attivazione può essere specificata in settings.xml
o anche nelle proprietà del progetto Eclipse.
Le mie domande sono:
- E 'questa la strada giusta da percorrere?
- Come può essere configurato?
- È possibile utilizzare Maven toolchain per questo?
Funziona come un fascino! Grazie! –
Buono, funziona per voi. Per ogni evenienza: non sono riuscito a trovare dove viene mantenuto plexus-compiler-eclipse e di conseguenza non sono sicuro che forniscano integrazione con le versioni più recenti di ecj (l'ultima che ho trovato è stata l'integrazione di ecj a partire dal 20140604). In caso di problemi con l'approccio sopra, le FAQ JDT hanno anche alcuni suggerimenti (raccomandando tycho-compiler-jdt per l'attività): https://wiki.eclipse.org/JDT/FAQ#Can_I_use_JDT_outside_Eclipse_to_compile_Java_code.3F –