Может ли Maven импортировать зависимости от ресурсов? - PullRequest
5 голосов
/ 16 февраля 2012

В нескольких проектах у меня есть ресурсы (в частности, скрипты миграции баз данных Flyway), которыми я хотел бы поделиться.

Возможно ли, чтобы эти общие ресурсы существовали как артефакт Maven, и перед сборкой Maven разрешил эту зависимость и распаковал содержимое артефакта в /src/main/resources/? Если это так, как можно поступить об этом?

1 Ответ

7 голосов
/ 16 февраля 2012

Если вы поместите несколько файлов в /src/main/resources, они будут помещены в CLASSPATH в целевом JAR-артефакте.Это означает, что если вы зависите от такого артефакта, у вас будет доступ ко всем ресурсам, так же как у вас есть доступ к классам в нем.

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

Если артефакт my-resources содержит некоторые ресурсы в /src/main/resources,вы можете получить к ним доступ во время выполнения точно так же, как вы (или любая другая библиотека) можете получить доступ к /src/main/resources содержимому из того же артефакта.

Обратите внимание, что это не будет работать с /src/test/resources, посколькутестовые ресурсы помещаются в CLASSPATH только во время surefire выполнения текущего артефакта.

...