17 Stimmen

zusätzliches Quellverzeichnis in Maven definieren

Ich generiere Java-Quellen aus einer wsdl-Datei. Diese Quellen unterliegen nicht der Versionskontrolle (die wsdl-Datei hingegen schon). Wir verwenden das cxf-codegen-plugin in maven und die generierten Klassen werden in <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> .

In Maven funktioniert das alles einwandfrei.

Ich muss dieses Verzeichnis als zusätzliches Quellverzeichnis in Intelij Idea definieren. ( target ist normalerweise ausgeschlossen).

Aber jedes Mal, wenn ich das Maven-Projekt erneut in InteliJ Idea importiere (aufgrund von Pom-Änderungen), muss ich die Projektstruktur in Idea manuell bearbeiten und das zusätzliche Quellverzeichnis neu definieren.

Gibt es irgendeine Möglichkeit, die ich entweder dieses zusätzliche Quellverzeichnis in Maven definieren kann, so Idea nimmt es auf Reload, oder Idea sagen, nicht die manuelle Quelle directoy Definition zu vergessen?

18voto

CrazyCoder Punkte 369803

Dieser Fall wird beschrieben in der IntelliJ IDEA Maven FAQ , Generierte Quellen Abschnitt:

Geben Sie das Verzeichnis Ihres Quellcodes Root an, wenn Sie ein Projekt erneut importieren.
Sie können eine der folgenden Optionen wählen:

  • Automatisch erkennen Dies ist eine Standardoption. Wenn Sie diese Option auswählen, erkennt IntelliJ IDEA automatisch den Speicherort der generierten Quellen. IntelliJ IDEA erkennt auch, welches Verzeichnis als Source Root markiert werden soll. Allerdings sucht IntelliJ IDEA nur in den Verzeichnissen target/generated-sources und target/generated-sources/* nach den generierten Quellen.

  • target/generated-sources Mit dieser Option können Sie das Verzeichnis manuell als Quelle Root markieren.

  • Unterverzeichnisse von "target/generated-sources" Mit dieser Option können Sie ein Unterverzeichnis manuell als Source Root markieren.

  • Nicht erkennen Mit dieser Option können Sie den Erkennungsprozess überspringen.

5voto

Attila Punkte 27065

Werfen Sie einen Blick auf die <add-source> Ziel bauen (siehe ein Beispiel aquí )

Zitat:

<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>build-helper-maven-plugin</artifactId>
 <version>1.4</version>
 <executions>
  <execution>
   <id>add-wsdl-source</id>
   <phase>generate-sources</phase>
   <goals>
    <goal>add-source</goal>
   </goals>
   <configuration>
    <sources>
     <source>${basedir}/src-generated/src</source>
    </sources>
   </configuration>
   <!-- [...] -->
  </execution>
 </executions>
</plugin>

1voto

magomi Punkte 6459

Sie könnten das (externe) Quellverzeichnis als eine Abhängigkeit zu Ihrem Modul definieren. Project Structure -> Modules -> Depenencies . Dort müssen Sie eine neue JAR or Directory Abhängigkeit.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X