En utilisant maven en utilisant la mise en page de répertoire non standard
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.
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.
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
.