Je construis un pot en utilisant maven avec une simple installation de maven. Si j'ajoute un fichier à src/main/resources
il peut être trouvé sur le chemin de classe mais il a un dossier de configuration où je veux que ce fichier aille mais le déplacer dans le dossier de configuration le fait disparaître du chemin de classe.
Si vous placez quelque chose dans le répertoire src/main/resources
, Alors par défaut, il se retrouvera dans votre *.jar
Final. Si vous le référencez à partir d'un autre projet et qu'il ne peut pas être trouvé sur un chemin de classe, vous avez fait l'une de ces deux erreurs:
*.jar
N'est pas correctement chargé (peut-être une faute de frappe dans le chemin?)/src/main/resources/conf/settings.properties
est vu sur le chemin de classe comme classpath:conf/settings.properties
Une alternative plus propre de placer votre fichier de configuration dans un sous-dossier de src/main/resources serait d'améliorer vos emplacements de chemin de classe. C'est extrêmement facile à faire avec Maven.
Par exemple, placez votre fichier de propriétés dans un nouveau dossier src/main/config, et ajoutez ce qui suit à votre pom:
<build>
<resources>
<resource>
<directory>src/main/config</directory>
</resource>
</resources>
</build>
À partir de maintenant, tous les fichiers sous src/main/config sont considérés comme faisant partie de votre chemin de classe (notez que vous pouvez en exclure certains du dernier bocal si nécessaire: ajoutez simplement dans la section de construction:
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<excludes>
<exclude>my-config.properties</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
de sorte que my-config.properties puisse être trouvé dans votre chemin de classe lorsque vous exécutez votre application à partir de votre IDE, mais restera externe à votre pot dans votre distribution finale).
By default maven does not include any files from "src/main/Java".
You have two possible way to that.
1. put all your resource files (different than Java files) to "src/main/resources" - this is highly recommended
2. Add to your pom (resource plugin):
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/Java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>