Spring Boot Gradle插件

时间:2017-03-23 13:57:11

标签: gradle spring-boot

我有gradle多项目,如下所示:

- 项目
 |
 | - 普通
 | - moduleA
 | - moduleB

moduleA是Spring Boot应用程序,其gradle构建文件使用SpringBootGradle插件。该模块取决于常见的结节。

moduleB也是Spring Boot应用程序,它的gradle构建文件使用SpringBootGradle插件。该模块依赖于moduleA。

在使用gradle构建我的项目后,我希望moduleA.jar和moduleB.jar存在并且它们存在。 但是当我尝试运行moduleB.jar时,我得到一个异常(Spring Boot初始化异常)。我发现moduleB.jar包含lib目录,其中包含来自moduleA的所有依赖项以及moduleA.jar(也包含依赖项)。

所以我需要的是找到一种方法在构建期间将moduleA plain jar添加为我的moduleB的依赖项。

2 个答案:

答案 0 :(得分:0)

您需要configure module A so that it can be used as a dependency

bootRepackage  {
    classifier = 'exec'
}

这意味着你最终会得到两个罐子。一个没有可以用作依赖关系的分类器,另一个分类器是可执行的胖jar,其中依赖嵌套在其中。

答案 1 :(得分:0)

Spring Boot 2.3 使用

bootJar {
    classifier = 'boot' // or whatever
}

fat jars(用于模块 A 和 B)将具有名称 *-boot.jar 而模块 B 将仅包含 module-a.jar

here