如何在Spring Boot Maven多模块项目中包含来自另一个模块的资源

时间:2018-02-14 11:55:07

标签: maven spring-boot spring-boot-maven-plugin

我有一个spring boot mavel多模块项目。

如果spring引导模块依赖于模块A并且在模块src/main/resources的{​​{1}}文件夹中,则会在最终的spring boot中捆绑一个属性文件或其他资源应用程序,我怎样才能实现这一点。

目前,如果我在模块A JAR上运行A,它包含文件:

jar -tf

然而:

jar -tf module-a/target/module-a-0.0.1-SNAPSHOT.jar | grep changelog

db/changelog/
db/changelog/db.changelog-master.yaml

提前感谢任何建议。

1 个答案:

答案 0 :(得分:3)

如果我正确理解您的要求,我相信您可以在Spring Boot模块中使用unpack的{​​{1}}目标:

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/</outputDirectory> </configuration> </execution> </executions> </plugin> 复制到module-a。我在GitHub上发布了一个完整的示例。