Плагин Spring Boot Maven Включает Ресурсы
пример
можно ли как-то настроить плагин spring boot maven для включения ресурсов из зависимости.
например. если в моем проекте spring boot у меня есть:
<dependency>
<groupId>co.company</groupId>
<artifactId>example</artifactId>
</dependency>
и в этом файле JAR есть файл свойств, такой как example.properties
jar -tf example.jar | grep example.properties | wc -l
результаты в 1.
однако, когда я создаю spring boot JAR, этот файл свойств не добавляется в src/main/resources
. Банка, содержащая его, включена в BOOT-INF/lib/example.jar
однако, в моем случае. Я хотел бы извлечь содержимое src/main/resources
в багажнике BOOT-INF/classes/
каталог spring boot JAR, чтобы такие вещи, как автоматическая конфигурация, могли его забрать.
Реальном Мире
в реальном мире, я пытаюсь сделать это:
- шаблоны thymeleaf (например, My dependency JAR предоставляет файлы шаблонов HTML, но в развернутой загрузочной банке эти шаблоны не разрешены)
- liquibase файлы журнала изменений (моя зависимость включает файлы журнала изменений, но они не выполняются - я предполагаю, что автоконфигурация liquibase не находит файл журнала изменений, потому что он не находится в
src/main/resources
из загрузочной банки).
1 ответов
Я думаю, что решение этой проблемы будет очень похож на решение для другого вопроса, который вы задали.
можно использовать unpack
цель maven-dependency-plugin
в вашем модуле весенней загрузки:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>${project.groupId}</groupId>
<artifactId>module-a</artifactId>
<version>${project.version}</version>
<includes>**/*.yaml</includes>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/classes/BOOT-INF/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
это скопирует ресурсы из module-a
to