Question

À travers plusieurs projets que j'ai une ressources (en particulier les scripts de migration de base de données) que je voie de migration voudrais partager.

Est-il possible d'avoir ces ressources partagées exister en tant que artefact Maven, et avant une construction ont détermination Maven que la dépendance et déballer le contenu de l'artefact à /src/main/resources/? Si oui, comment peut-on prendre?

Était-ce utile?

La solution

Si vous placez des fichiers dans /src/main/resources ils seront placés sur le CLASSPATH dans l'artefact JAR cible. Cela signifie que si vous dépendez d'un tel artefact, vous aurez accès à toutes les ressources, comme vous avez accès à des cours en elle.

<dependency>
    <groupId>com.example.foo</groupId>
    <artifactId>my-resources</artifactId>
    <version>0.1</version>
</dependency>

Si l'artefact my-resources contient des ressources /src/main/resources, vous pouvez y accéder lors de l'exécution comme vous (ou toute autre bibliothèque) peuvent accéder au contenu de /src/main/resources du même artefact.

Notez que cela ne fonctionnera pas avec /src/test/resources parce que les ressources de test sont placées sur CLASSPATH lors de l'exécution de surefire d'artefact courant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top