web-dev-qa-db-fra.com

Maven: comment placer un fichier de ressources avec un bocal?

J'ai le fichier\src\main\resources\logback.xml. Quand je lance mvn package il est placé dans le pot par défaut. Comment faire placer Maven à côté du pot, pas à l'intérieur?

Donc, eh bien, je veux juste que Maven copie la ressource dans le même dossier où le pot sera.

29

Aucune définition de plugin nécessaire , modifiez simplement les ressources de build:

<build>
    <resources>
        <!-- regular resource processsing for everything except logback.xml -->
        <resource>
            <directory>src/main/resources</directory>
            <excludes>
                <exclude>logback.xml</exclude>
            </excludes>
        </resource>
        <!-- resource processsing with a different output directory
             for logback.xml -->
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>logback.xml</include>
            </includes>
            <!-- relative to target/classes
                 i.e. ${project.build.outputDirectory} -->
            <targetPath>..</targetPath>
        </resource>
    </resources>
</build>

Référence:

72
Sean Patrick Floyd

Vous pouvez créer un fichier Zip contenant les deux en utilisant plugin Maven Assembly .

Vous pouvez également utiliser plug-in Maven Antrun ou similaire pour placer le fichier que vous voulez, mais l'idée d'un seul artefact par projet est intégrée profondément dans les internes de Maven, il y a donc une chance qu'il vous traque ailleurs.

0
Sasha O

Exclure ce fichier: http://maven.Apache.org/plugins/maven-resources-plugin/examples/include-exclude.html

Et puis utilisez le plugin Maven Antrun pour copier le fichier.

Cependant, cette dernière partie n'a pas beaucoup de sens. S'il s'agit d'un fichier de configuration à mettre dans un serveur, copiez-le simplement manuellement.

0
apetrelli