Domanda

Qualcuno può dirmi come configurare Maven per questo anche per compilare sorgenti dalla directory target/hibernate3/generated-sources? Ho già letto questo e altri posti, ma non sembrano per risolvere il mio problema (che sembra davvero banale).

ho usato la configurazione hibernate approccio bottom-up per la cfg.xml, hbm.xml e la generazione POJO (cioè generata automaticamente la configurazione completa Hibernate da uno schema di database esistente). Sto anche utilizzando solo maven standard ed i layout delle directory hibernate3-plugin. Tuttavia, durante l'esecuzione mvn compile nella riga di comando, mentre le mie fonti sono nella src/main/java e le fonti generate in /target/hibernate3/generated-sources solo quelli di src/main/java vengono compilati e copiati in target/classes. Non vorrei che per generare fonti in src/main/java come mi piacerebbe mvn clean per pulirli.

mi piacerebbe risolvere il problema utilizzando command-line, plugins e pom.xml solo. C'è un modo per configurare maven-compiler-plugin a farlo? oppure c'è un'altro modo?

Saluti e grazie per qualsiasi aiuto.

È stato utile?

Soluzione

La convenzione è quello di generare il codice in target/generated-sources/<generator> Quindi nel tuo caso, vorrei generare fonti in target/generated-sources/hibernate3 (è triste il plugin Hibernate3 non segue questa convenzione per impostazione predefinita). In ogni caso, le cose dovrebbero funzionare e in realtà, il POM ho scritto in questa risposta precedente fa (ho ri-eseguito il mio progetto di esempio e funziona sicuramente). Potresti essere vittima di MHIBERNATE-104 ? Onestamente, sono confuso.

Per risolvere il problema, è possibile utilizzare il Corporatura Helper Maven Plugin e la sua build-helper:add-source obiettivo per aggiungere la directory come directory di origine. Vedere la href="http://mojo.codehaus.org/build-helper-maven-plugin/usage.html" rel="nofollow noreferrer"> pagina


  

sto usando esattamente la pom avete proposto qui, non solo collegato al ciclo di vita di generazione predefinito (senza esecuzioni).

che deve essere la causa del problema: se hibernate3:hbm2java non è parte del ciclo di vita di compilazione, non ottiene la possibilità di registrare la directory di output come cartella di origine. Quindi Maven non è a conoscenza di esso durante la "corporatura normale" e sarà solo ignorarlo.

scroll top