Frage

Ich versuche, Maven zu einem bestehenden Projekt anzuwenden, die bereits eine Verzeichnisstruktur an Ort und Stelle hat. Alles, was ich von vorheriger Frage ist die folgende finden.

Maven Verzeichnisstruktur

Allerdings ist meine Anforderung detaillierter. Bitte siehe unten für die Verzeichnisstruktur:

 <root dir>
    |
    +--src-java
    |
    +--src-properties
    |
    +--WEB-INF

Ich weiß, dass wir so etwas wie

haben könnten
<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>

Aber sourceDirectory ist für Java-Quellcode nur, wenn ich mich nicht irre.

Für die obige Struktur, wie erkläre ich es in pom.xml? Verschieben Sie das Verzeichnis ist meine letzte Option jetzt.

War es hilfreich?

Lösung

Ich denke, man etwas ähnliches wie unten haben muß.

Sehen WEB-INF, ich nehme an, Sie einen Krieg aufbauen wollen. Maven Plugin Krieg tut dies. Sie müssen diese ein bisschen konfigurieren, da die Ordnerstruktur nicht-Standard ist - zum Beispiel müssen Sie den Standort von web.xml mit webXml Eigenschaft angeben. Diese sind dokumentiert in der Nutzung .

<build>
    <sourceDirectory>src-java</sourceDirectory>
    ...
    <resources>
      <resource>
        <directory>src-properties</directory>
      </resource>
    </resources>
    ...
    <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warSourceDirectory>WEB-INF</warSourceDirectory>
                    ...
                </configuration>
            </plugin>
     </plugins>
</build>

Andere Tipps

Sie können die Struktur Standardverzeichnis in dem deklarierten ändern Super POM indem man sich in Ihrem pom überschrieben wird.

Für Ihr Beispiel z.

<sourceDirectory>src-java</sourceDirectory>
<resources>
  <resource>
    <directory>src-properties</directory>
  </resource>
</resources>

Maven werden alle Ressourcen in die JAR-Datei kopieren. Wenn Sie möchten, WEB-INF in das Gefäß schließen wäre es am besten in das angegebene Ressource-Verzeichnis zu verschieben. Ansonsten haben Sie es von selbst zu kopieren (mit maven Plugins) in das Zielverzeichnis - Ich nehme

.
 <resources>
  <resource>
    <directory>${project.basedir}/src/main/resources</directory>
  </resource>

hier .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top