42 votes

Dans Maven, quelle est la différence entre main / resources et main / config?

Je veux mettre un fichier de configuration dans mon projet Maven. En regardant le répertoire standard de mise en page, il y a deux endroits qui semblent sensées, "src/main/resources" et "src/main/config". Quelqu'un pourrait-il expliquer la différence entre ces, et d'expliquer quand vous mettez quelque chose en config et quand, en resources?

Dans ce cas, le fichier que je suis en train de regarder est - ehcache.xml, mais ma question n'est pas ehcache spécifique, je suis curieux log4j.properties etc.

Un peu de googling découvert cette personne avait la même question, mais les réponses semblent contradictoires, et pas très faisant autorité.

51voto

Nick Fortescue Points 18829

L'échange de courriels à http://www.mail-archive.com/users@maven.apache.org/msg90985.html dit:

"Tout cela est de la théorie... peut-être lors de l'écriture de la documentation, quelqu'un de Maven développement pensé qu'il pourrait être utile de disposer d'un répertoire src/main/config et donc il a été inclus dans les docs, mais depuis il n'a jamais été mis en œuvre dans le code, il n'est pas utilisé aujourd'hui."

et

"Le répertoire [src/main/config] n'apparaissent pas dans le classpath de l'application ou de classes de test ne peut pas lire quoi que ce soit."

Utilisez donc src/main/resources.

Note: je ne sais pas si c'est vrai (je suis la question asker), mais qui pourrait expliquer pourquoi tant de gens sur le web recommandons src/main/resources de log4j.les propriétés. Si des gens sont d'accord c'est la bonne réponse, pourriez-vous me faire savoir (commentaire ou vote) je l'ai mis ici pour en sauver d'autres personnes de frappe.

8voto

Boris Pavlović Points 22207

scr/main/resources est un endroit où vous mettez vos images, sons, modèles, langues, fichiers textuels et binaires utilisés par le code source. Tous les fichiers de configuration tels que excache.xml, log4j.properties, logback.xml et autres vont à src/main/config .

Ajoutez à votre pom.xml :

 <build>
    <resources>
        <resource>
            <targetPath>.</targetPath>
            <directory>src/main/config</directory>
        </resource>
    </resources>
</build>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X