Question

Je suis en train d'appliquer maven à un projet existant qui a déjà une structure de répertoire en place. Tout ce que je peux trouver de la question précédente est le suivant.

structure de répertoire Maven

Cependant, mon exigence est plus détaillée. S'il vous plaît voir ci-dessous pour la structure du répertoire:

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

Je sais que nous pourrions avoir quelque chose comme

<build>
<sourceDirectory>src-java</sourceDirectory>
...
</build>

Mais sourceDirectory est pour le code source de Java uniquement, si je ne me trompe pas.

Pour la structure ci-dessus, comment puis-je le déclare dans pom.xml? Déplacement du répertoire est ma dernière option en ce moment.

Était-ce utile?

La solution

Je suppose que vous devez avoir quelque chose de semblable ci-dessous.

En voyant WEB-INF, je suppose que vous voulez construire une guerre. Maven plugin guerre fait cela. Vous devrez configurer ce un peu car la structure du dossier est non standard - par exemple, vous devrez peut-être spécifier l'emplacement web.xml en utilisant la propriété de webXml. Ceux-ci sont documentés dans le .

<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>

Autres conseils

Vous pouvez modifier la structure de répertoire par défaut déclaré dans le super POM récrites dans votre pom.

Pour votre exemple, par exemple.

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

Maven copiera toutes les ressources du fichier jar. Si vous souhaitez inclure WEB-INF dans le pot, il serait préférable de le déplacer dans le répertoire des ressources spécifié. Sinon, vous devez copier par vos propres (avec les plugins Maven) dans le répertoire cible - Je suppose que

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

De .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top