欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot2.3.0拥抱Gradle,你会使用gradle多模块打包成一个jar包吗?

程序员文章站 2024-02-07 23:19:10
...

一、使用gradle将多个module打包成一个可执行的jar包,解决多模块打成jar包没有主启动清单的错误

二、解决jar包使用java -jar xxxxx.jar启动时没有主清单属性错误

1、项目结构

SpringBoot2.3.0拥抱Gradle,你会使用gradle多模块打包成一个jar包吗?

2、父工程gradle配置
allprojects{
    apply plugin:'java'
    group = 'com.example'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '1.8'

    repositories {
        maven{
            url 'https://maven.aliyun.com/repository/public'
        }
        mavenCentral();
    }

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web:2.1.8.RELEASE'
    }

    test {
        useJUnitPlatform()
    }
}

2、service模块引入dao模块
dependencies{
    implementation project(":gradle-dao")
}
3、client模块引入service模块并加入spring-boot-gradle-plugin 将启动类设置成client模块

SpringBoot2.3.0拥抱Gradle,你会使用gradle多模块打包成一个jar包吗?
client模块中的build.gradle配置

buildscript {
    ext {
        springBootVersion = '2.1.8.RELEASE'
    }
    repositories {
        maven {
            url 'https://maven.aliyun.com/repository/public'
        }
        mavenCentral();
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }

}

apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'

dependencies {
    implementation project(":gradle-service")
}

因为现在阿里云仓库中还没有2.3.1的springboot版本,所以我使用的springboot版本是2
1.8

4、点击build会将项目打包成jar包放在build下的libs文件夹中,进入cmd中,使用 java -jar xxxxxx.jar 启动项目

SpringBoot2.3.0拥抱Gradle,你会使用gradle多模块打包成一个jar包吗?
SpringBoot2.3.0拥抱Gradle,你会使用gradle多模块打包成一个jar包吗?
项目启动成功
SpringBoot2.3.0拥抱Gradle,你会使用gradle多模块打包成一个jar包吗?

示例代码下载地址:https://download.csdn.net/download/qq_43813937/12538263