Как можно включить ресурсы из другого модуля в мультимодульный проект Spring Boot
У меня есть мультимодульный проект с пружинной загрузкой.
Если пружинный загрузочный модуль зависит от модуля A
и в src/main/resources
папка модуля A
есть файл свойств или какой-то другой ресурс, который я хочу связать в финальном весеннем загрузочном приложении, как мне этого добиться.
В настоящее время, если я бегу jar -tf
в модуле A JAR он содержит файл:
jar -tf module-a/target/module-a-0.0.1-SNAPSHOT.jar | grep changelog
db/changelog/
db/changelog/db.changelog-master.yaml
Тем не мение:
jar -tf boot-module/target/boot-module-0.0.1-SNAPSHOT.jar | grep changelog | wc -l
0
Спасибо заранее за любые советы.
1 ответ
Решение
Если я правильно понимаю ваши требования, я считаю, что вы можете использовать unpack
цель maven-dependency-plugin
в вашем модуле Spring Boot:
<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/</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
Это скопирует ресурсы из module-a
в boot-module
, Я разместил полный пример на GitHub.