Maven nicht Ziel / Hibernate3 / erzeugt-Quellen kompiliert
-
04-10-2019 - |
Frage
Kann mir jemand sagen, wie man configure es maven auch Quellen aus dem target/hibernate3/generated-sources
Verzeichnis zu kompilieren? Ich habe bereits lesen Sie diese und anderen Beiträgen aber sie scheinen nicht zu lösen mein Problem (was in der Tat scheint trivial).
Ich habe die Bottom-up-Ansatz Hibernate-Konfiguration für cfg.xml, hbm.xml und POJO Generation (das heißt automatisch generierte die komplette Hibernate-Konfiguration aus einem bestehenden Datenbank-Schema) verwendet. Ich verwende auch nur Standard maven
und hibernate3-plugin
Verzeichnis-Layout. Doch wenn mvn compile
in der Befehlszeile ausgeführt wird, während meine Quellen in den src/main/java
und die erzeugten Quellen in /target/hibernate3/generated-sources
sind nur die, die von src/main/java
erhalten zusammengestellt und in target/classes
kopiert. Ich möchte nicht Quellen in src/main/java
zu erzeugen, wie ich mvn clean
möchte um sie zu reinigen.
Ich möchte das Problem mit command-line
, plugins
und pom.xml
nur lösen. Gibt es eine Möglichkeit zu konfigurieren maven-compiler-plugin
zu tun? Oder gibt es einen anderen Weg?
Viele Grüße und vielen Dank für jede Hilfe.
Lösung
Die Konvention ist, Code in target/generated-sources/<generator>
zu erzeugen, um in Ihrem Fall, ich Quellen in target/generated-sources/hibernate3
erzeugen würde (es traurig ist das Hibernate3 Plugin folgt nicht an dieser Konvention Standard). Auf jeden Fall sollten die Dinge funktionieren und tatsächlich erzielte das POM ich in diese vorherige Antwort tut (ich wieder lief mein Beispielprojekt und es funktioniert auf jeden Fall). Könnten Sie ein Opfer von MHIBERNATE-104 sein? Ehrlich gesagt, ich bin verwirrt.
Als Abhilfe können, können Sie das verwenden Build-Helper Maven Plugin und sein build-helper:add-source
Ziel Ihres Verzeichnis hinzufügen als Quellverzeichnis. Sehen Sie sich die Verwendung Seite für ein Konfigurationsbeispiel.
Ich bin mit genau dem pom Sie hier vorgeschlagen, nur nicht in die Standard-Build Lifecycle gesteckt (ohne Exekutionen).
Das muss die Ursache des Problems sein: wenn hibernate3:hbm2java
nicht Teil ist der Build-Lebenszyklus, es nicht die Möglichkeit bekommt das Ausgabeverzeichnis als Quellordner zu registrieren. So Maven ist nicht bekannt, es während des „normalen Build“ und wird es einfach ignorieren.