J'ai des fichiers de classe Java et des fichiers de propriétés dans le même répertoire.
SRC / MAIN / JAVA / COM / BERLIN / TEST.CLASS P>
SRC / MAIN / JAVA / COM / COM / BERLIN / TEST .properties p>
avec le jar Maven I Construire et la cible Maven, je veux que ceux-ci apparaissent dans le même répertoire. Mais Maven placera les fichiers de classe et les fichiers de propriétés dans différents endroits où je fais un package MVN '. P>
.. Sortie: jar -tvf fichier.jar: p>
SAT 11 08:24:32 EDT 2011 MAIN / JAVA / COM / BERLIN / TEST.PROPERTES P>
Je veux: SAT 11 08:24:32 EDT 2011 COM / BERLIN / TEST.PROPERTES SAT JUN 11 08:24:32 EDT 2011 COM / BERLIN / TEST.CLASS.CLASS P>
... P>
Partie de mon POM: P>
<build>
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<resources>
<resource>
<directory>src</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.source.version}</source>
<target>${java.target.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
3 Réponses :
Tout d'abord, vous devez d'abord placer vos ressources en SRC / Main / Ressources / Com / Berlin / Test.properties et vos fichiers source Java dans SRC / MAIN / JAVA / COM / BERLIN / TEST.JAVA ... Ne mettez jamais de classes compilées dans SRC / Dossier ... En outre, vous devez supprimer la configuration:
<finalName>${project.artifactId}</finalName>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<resources>
<resource>
<directory>src</directory>
<includes>
<include>**</include>
</includes>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
Pour les raisons mavenaires, vous devez placer un fichier de propriétés dans SRC / Main / Ressources, non dans le répertoire SRC / MAIN / Java (en conservant la même structure de sous-dossier). P>
Cela étant dit, pour obtenir ce que vous voulez que vous devez remplacer (dans votre pom.xml) src code> avec src / main / java code>. Non testé, mais si vous avez des problèmes, veuillez partager. p>
<build>
<testResources>
<testResource>
<directory>src/test/resources</directory>
</testResource>
<testResource>
<directory>src/test/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</testResource>
</testResources>
</build>