gradle+springboot实现多项目分环境打包

这篇具有很好参考价值的文章主要介绍了gradle+springboot实现多项目分环境打包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

父项目的build.gradle

// 统一配置版本号
buildscript {
    ext {
        springBootVersion='2.3.11.RELEASE'
        springCloudVersion='Hoxton.SR8'
        mysqlVersion = '8.0.26'
        lombokVersion='1.18.16'
        springCloudAlibabaVersion='2.2.5.RELEASE'
        hutoolVersion='5.7.16'
        pagehelperVersion='5.1.10'
        pagehelperSpringbootVersion='1.2.12'
        druidVersion='1.1.10'
        springKafkaVersion='2.5.16.RELEASE'

        // 单元测试依赖版本
        jupiterVersion='5.6.0'
        powermockVersion='2.0.9'
    }
    // 脚本自身的插件仓库
    repositories {
        mavenLocal()
        maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

// 全局配置
allprojects{
    apply plugin: 'java'
    group 'hicon'
    version '1.0-SNAPSHOT'
    //指定编译版本
    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    tasks.withType(JavaCompile){
        options.encoding='UTF-8'
    }

    repositories {
        mavenLocal()
        maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
        mavenCentral()
    }

}
// 子项目
subprojects{
    // 版本由spring-boot-gradle-plugin统一管理
    apply plugin: 'io.spring.dependency-management'
    apply plugin: 'org.springframework.boot'

    // 所有子项目的基础包
    dependencies {
        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'

        // 单元测试
        implementation 'org.springframework.boot:spring-boot-starter-test'
        implementation 'org.junit.jupiter:junit-jupiter'
        implementation 'org.powermock:powermock-module-junit4'
        implementation 'org.powermock:powermock-api-mockito2'
    }
    //gradle构建过程中的默认任务processResources,重写
    processResources {
        filesMatching('bootstrap.yml') {
            expand(project.properties)
        }
    }
    dependencyManagement {
        dependencies {
            dependency "org.springframework.cloud:spring-boot-dependencies:${springBootVersion}"
            dependency "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
            dependency "com.alibaba.cloud:spring-cloud-alibaba-dependencies:${springCloudAlibabaVersion}"
            dependency "org.springframework.boot:spring-boot-starter-web:${springBootVersion}"
            dependency "org.springframework.boot:spring-boot-starter-parent:${springBootVersion}"
            dependency "org.springframework.boot:spring-boot-starter-data-jpa:${springBootVersion}"
            dependency "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery:${springCloudAlibabaVersion}"
            dependency "org.springframework.cloud:spring-cloud-starter-openfeign:${springCloudAlibabaVersion}"
            dependency "com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:${springCloudAlibabaVersion}"
            dependency "com.alibaba:druid-spring-boot-starter:${druidVersion}"
            dependency "mysql:mysql-connector-java:${mysqlVersion}"
            dependency "com.github.pagehelper:pagehelper:${pagehelperVersion}"
            dependency "com.github.pagehelper:pagehelper-spring-boot-autoconfigure:${pagehelperSpringbootVersion}"
            dependency "com.github.pagehelper:pagehelper-spring-boot-starter:${pagehelperSpringbootVersion}"
            dependency "cn.hutool:hutool-all:${hutoolVersion}"
            dependency "org.springframework.kafka:spring-kafka:${springKafkaVersion}"

            // 单元测试
            dependency "org.springframework.boot:spring-boot-starter-test:${springBootVersion}"
            dependency "org.junit.jupiter:junit-jupiter:${jupiterVersion}"
            dependency "org.powermock:powermock-module-junit4:${powermockVersion}"
            dependency "org.powermock:powermock-api-mockito2:${powermockVersion}"
        }

    }
}
wrapper {
    gradleVersion = '7.0.2'
    archivePath = 'wrapper/dists'
    distributionPath = 'wrapper/dists'
    distributionUrl = 'https://services.gradle.org/distributions/gradle-7.0.2-bin.zip'
}

上面的文件中,控制环境变量的代码块是
gradle多环境 打包,spring boot,java,单元测试,gradle

子项目的build.gradle


dependencies {
    implementation fileTree(dir:'libs',includes: ['*.jar'])
    implementation 'org.springframework.cloud:spring-cloud-dependencies'
    implementation 'com.alibaba.cloud:spring-cloud-alibaba-dependencies'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-parent'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery'
    implementation 'com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config'
    implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
    implementation 'com.alibaba:druid-spring-boot-starter'
    implementation 'mysql:mysql-connector-java'
    implementation 'com.github.pagehelper:pagehelper'
    implementation 'com.github.pagehelper:pagehelper-spring-boot-autoconfigure'
    implementation 'com.github.pagehelper:pagehelper-spring-boot-starter'
    implementation 'cn.hutool:hutool-all'
    implementation 'org.springframework.kafka:spring-kafka'

}

环境变量在bootstrap.ym中

#配置环境
spring:
  profiles:
    active: ${profile}

打包命令

gradle build -x test -Pprofile=dev

执行结果截图
gradle多环境 打包,spring boot,java,单元测试,gradle
-x test 是排除单元测试
-Pprofile=dev是传递环境参数
打包完成后,bootstrap.yml中的变量会替换为dev

下一篇
打包时,外部依赖的jar,不打进jar包里文章来源地址https://www.toymoban.com/news/detail-781217.html

到了这里,关于gradle+springboot实现多项目分环境打包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot多模块项目打包

    例如父项目 build_test 下面有三个子模块,一个是common模块 一个是a模块,一个b模块;其中common是公共模块,a和b都依赖于公共模块common,我现在想把a和b模块打包成jar包。 创建父工程 创建3个子模块,分别是common和a和b模块 鼠标右击红框位置 选New 再选Module,鼠标左键点一下, 同

    2024年02月09日
    浏览(41)
  • Spring Boot项目打包及依赖管理-瘦身

    在Spring Boot项目中,通过Maven插件的配置,我们可以定制项目的打包过程,将依赖项抽取到指定的 lib 目录中。本文将演示如何使用Spring Boot Maven Plugin进行项目打包,同时抽取依赖项到 lib 目录,并提供相应的启动命令。 首先,在项目的 pom.xml 文件中,修改Spring Boot Maven Plugin的

    2024年02月22日
    浏览(35)
  • Dockerfile中编译、打包、部署spring boot项目

            Dockerfile是自动构建docker镜像的配置文件,将镜像构建过程通过指令的方式定义在Dockerfile中。配合docker build命令行可以实现自动化的Docker镜像的构建。         我们在学习一门语言或文档语法的时候,最快的学习方式就是看别人是怎么写的。这里这个“「别人

    2024年02月09日
    浏览(35)
  • IDEA创建spring boot项目无法加载出maven里的pom.xml,而是settings.gradle

    在创建的maven项目里找不到pom.xml文件而是settings.gradle,如下图所示: 原因和解决方法: 是因为在创建Springboot项目的时候type里选的是Gradle,gradle和maven又不一样,换成maven就行了,具体操作如下图所示: 在用idea创建maven项目时,在Project Metadata界面Type选项下唯有Maven和Maven PO

    2024年02月09日
    浏览(38)
  • Spring Boot项目使用Maven打包并带上依赖

    在这篇博客中,介绍如何使用Maven将Spring Boot项目及其依赖项打包成一个可执行的jar文件。我们将使用Spring Boot的 spring-boot-maven-plugin 插件来完成这个任务。 在你的 pom.xml 文件中,你需要添加或更新 build 部分以使用 spring-boot-maven-plugin 插件。下面是一个示例配置: 在这个配置中

    2024年02月16日
    浏览(33)
  • springboot gradle kotlin 多模块(或微服务)统一依赖及版本管理和构建不同环境打包task,docker镜像构建task

    在maven里可以在pom.xml中统一定义项目依赖,依赖版本,插件,多环境构建,子模块;定义packaging 为pom类型,各子模块按需引入,并且指定环境profiles构建。 在gradle中也可以实现依赖统一管理,各模块按需引入,区分环境的构建任务。 先上效果图 统一定义依赖,依赖版本,插

    2024年02月04日
    浏览(28)
  • 一个简单的增删改查Spring boot项目教程(完整过程,附代码)(从搭建数据库到实现增删改查功能),Springboot学习,Springboot项目,

    这里将会介绍怎么去搭建一个简单增删改查的Springboot项目,认真看完我相信你一定能够学会,并且附有完整代码; 首先要进行增删改查肯定是要有供操作的数据库; 这里我是用的SQLyog来搭建的,随便用什么都可以,只要能确保给项目一个配套的数据库就行; 打开IDEA,创建

    2024年02月15日
    浏览(47)
  • Java(一):创建 Spring Boot 项目并实现连接操作MySQL数据库

    MySQL 命令 Maven 相关地址 下载地址: https://maven.apache.org/ maven配置方法地址: https://developer.aliyun.com/mvn/guide 仓库搜索地址: https://mvnrepository.com/ https://repo.maven.apache.org/ maven 本地配置 conf/settings.xml 下载 idea 并配置本地环境 maven Maven 构建 生命周期 Maven 的构建 生命周期 包括 三

    2024年02月07日
    浏览(53)
  • 将Spring Boot项目打包部署到阿里云linux服务器

    首先 你要保证自己的服务器上有java环境 如果没有可以参考我的文章 linux服务器中安装java JDK1.8版本 然后 我们打开我们的Spring Boot项目 双击 package 生命周期进行打包 打包完成之后 我们找到 target 下面会有一个jar包 然后 我们右键它 如下图操作 系统就会帮你打开它所在的目录

    2024年02月16日
    浏览(45)
  • 网页版Java(Spring/Spring Boot/Spring MVC)五子棋项目(二)前后端实现用户的登录和注册功能【用户模块】

    1. 用户id 2. 用户名 3. 密码 4. 天梯积分 5. 总场数 6. 获胜场数 和数据库的数据一一对应 1. 连接数据库(application.yml连接数据库) 这个可以直接赋值代码 2. 创建UserMapper的Java接口(interface UserMapper) 创建接口,在UserMapper.xml实现 在model中创建 需要实现@Mapper注释 3. 创建UserMappe

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包