将gradle multi项目转换为springboot fat jar应用程序

时间:2019-05-21 20:46:45

标签: spring-boot gradle

我有一个http servlet应用程序,它是一个多项目gradle 构建,其中我的项目是一个包含 gradle HttpServlet项目,它依赖于其他两个gradle java项目。我将所有3个jar都部署在 tomcat webapps / Web-INF / lib 目录中并运行它。

现在有一个要求,我必须将我的应用程序转换为 spring boot应用程序,而不是3个单独的jar,我必须创建一个 fat jar 运行。

我没有多年级和春季靴子的经验。我想知道如何从multi gradle项目中创建一个胖子。

我将我的http servlet项目转换为spring boot项目,但是我对如何在springboot项目中引用其他gradle项目并创建单个胖jar感到困惑。请查看项目的目录结构

Rootrepository
  - Springboot project
     -src….
- OtherGardleProject1
    - Src…
- OtherGardleProject2
    - Src…

有人可以分享一些指针吗?

1 个答案:

答案 0 :(得分:1)

您可以使用包含主应用程序和库的顶级settings.gradle文件

Rootrepository
  - settings.gradle 
  - Springboot project
     - build.gradle
     -src….
- OtherGardleProject1
    - Src…
- OtherGardleProject2
    - Src…

settings.gradle看起来像这样:

include: ':Springboot project', ':OtherGardleProject1', ':OtherGardleProject2'

然后在build.gradle模块的Springboot project中,将依赖项添加到库中

plugins {
   id 'org.springframework.boot' version '2.0.3.RELEASE'
}

apply plugin: 'java'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

...
dependencies {
  compile project(':OtherGardleProject1')
  compile project(':OtherGardleProject2')
  ...
}

构建项目后,Sprinboot project/build/libs文件夹中的jar应该包含应用程序的类以及另两个模块作为jar文件。

希望有帮助。