Maven non compila bersaglio / Hibernate3 / generate-sources
-
04-10-2019 - |
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.
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 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 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
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.