Как можно включить ресурсы из другого модуля в мультимодульный проект 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.

Другие вопросы по тегам