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>