J'ai reçu un paquet de code source. Dans l'arborescence de répertoires src, il y a des fichiers de propriétés (.properties) que je veux conserver dans le fichier jar de sortie au même endroit. par exemple: je veux
src/main/Java/com.mycompany/utils/Myclass.Java
src/main/Java/com.mycompany/utils/Myclass.properties
rester le même dans le pot:
com.mycompany/utils/Myclass.class
com.mycompany/utils/Myclass.properties
sans avoir besoin d'ajouter les propriétés, classez-le dans un dossier de ressources séparé. Y a-t-il un moyen de dire ça à Maven?
Vous pouvez ajouter ce qui suit dans votre pom indiquant que les ressources sont disponibles dans src/main/Java
et including
le type de ressources.
<build>
<resources>
<resource>
<directory>src/main/Java</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
Avec ce fragment de pom, vous incluez tout ce qui n'est pas un fichier Java pour l'artefact principal et l'artefact de test:
<build>
<resources>
<resource>
<directory>src/main/Java</directory>
<excludes>
<exclude>**/*.Java</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/Java</directory>
<excludes>
<exclude>**/*.Java</exclude>
</excludes>
</testResource>
</testResources>
</build>
Incluez et mixez tous vos fichiers src non-.Java et src/main/resources:
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>${project.build.sourceDirectory}</directory>
<excludes>
<exclude>**/*.Java</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
<testResource>
<directory>${project.build.testSourceDirectory}</directory>
<excludes>
<exclude>**/*.Java</exclude>
</excludes>
</testResource>
</testResources>