2010-04-15 5 views
16

Nel nostro progetto stiamo usando jaxb2-maven-plugin per generare codice sorgente Java da XML Schema, il che fa sì che il nostro modulo Maven richieda una directory di codice sorgente aggiuntiva (nel nostro caso target/generated/main/java). Fino ad oggi ho usato Eclipse e maven-eclipse-plugin per importare tutti i progetti nello spazio di lavoro di Eclipse. Il plugin è (in qualche modo) in grado di aggiungere automaticamente la directory con il codice sorgente generato al file .classpath di Eclipse.Come configurare IntelliJ IDEA e/o Maven per aggiungere automaticamente le directory con il codice sorgente Java generato usando jaxb2-maven-plugin?

Recentemente cerco di passare a (giocare con?) IntelliJ IDEA 9 (così Sono un novizio in questo ambiente) e ho notato che directory fonte supplementare non viene aggiunto durante il processo di importazione di IDEA ...

Esiste un modo per configurare IDEA/Maven per rendere automaticamente la directory di importazione con il codice sorgente generato?

risposta

24

La convenzione con Maven è quello di generare il codice in target/generated-sources/<tool>, ad esempio target/generated-sources/jaxb2

Seguire questa convenzione e IDEA aggiungerà la cartella come cartella di origine (vedi IDEA-53198).

+1

E se fosse necessario impostare un valore personalizzato? Cosa succede se la directory viene utilizzata anche con un altro strumento che fa un'altra fase? In questo momento, con Eclipse non abbiamo un problema, ma con IDEA lo facciamo. – dmatej

+0

@dmatej È possibile impostare il percorso per le sorgenti generate. Vedi l'opzione "Cartelle di fonti generate" all'indirizzo http://www.jetbrains.com/idea/webhelp/maven-importing.html – fnt

+0

Assicurati di usare l'idea di mvn: idea per garantire che ciò avvenga dopo aver aggiunto il modulo di plugin mvn al tuo pom. –

1

Provare con maven-jaxb2-plugin. Se non funziona, è un problema IDEA.

In Maven è possibile aggiungere nuove root di origine per configurazione. I plugin Maven possono farlo a livello di programmazione. Questo è sicuramente il caso con maven-jaxb2-plugin. Quindi, se IDEA non lo riconosce, allora è un problema da quella parte.

0

È possibile utilizzare Maven Build Helper Plugin. Si trova a http://www.mojohaus.org/build-helper-maven-plugin/

Permette di configurare radici di origine aggiuntive. E l'integrazione maven di IntelliJ aggiungerà la nuova radice di origine. Stiamo usando questa funzionalità in un bel po 'di build e funziona perfettamente. Testato con vers. 13 di IntelliJ IDEA.

2

Il codice generato, utilizzando jaxb2-maven-plugin, mancava per me in Intellij 2017.1 mentre Eclipse Neon lo ha creato. Riparato dal menu di scelta rapida del modulo selezionando 'Maven -> Genera origini e Aggiorna cartelle'.