【Gradle】通过 idea 快速搭建 springboot gradle项目

【Gradle】通过 idea 快速搭建 springboot gradle项目

最终效果

在这里插入图片描述

版本配置文件 dependency.gradle
/**
 * ===================================================================================================================
 * -------------------------------------------      统一资源版本控制       ----------------------------------------------
 * ===================================================================================================================
 */

def version = [
        JDK                    : JavaVersion.VERSION_1_8,           //JDK
        JDBC                   : '6.0.6',                           //JDBC
        SPRING_BOOT            : '2.0.1.RELEASE',                   //spring boot 全家桶版本
        SPRING_BOOT_MODELMAPPER: '1.1.0',                           //对象映射工具modelMapper
        SPRING_BOOT_MYBATIS    : '1.3.2',                           //mybatis-spring-boot
        SPRING_BOOT_DRUID      : '1.1.9',                           //druid和spring-boot整合包
        SPRING_CLOUD           : 'Finchley.RELEASE',                //spring cloud全家桶
        ALI_DRUID              : '1.1.9',                           //阿里巴巴druid
        ALI_FASTJSON           : '1.2.47',                          //阿里巴巴fastJson
        PAGEHELPER             : '1.2.3',                           //分页插件
        APACHE_COMMON_LANG3    : '3.4',                             //apache common lang3
        APACHE_COMMON_IO       : '2.6',                             //Apache Commons IO库包含实用程序类,流实现,文件过滤器,文件比较器,endian转换类等等.
        LOMBOK                 : '1.18.10',                         //lombok版本
        MYSQL                  : '6.0.6' ,                          //mysql数据库版本
        DOM4J                  : '1.6.1' ,                          //dom4j版本
        jaxen                  : '1.1.6' ,                          //jaxen版本
        LANG3                  : '3.9'   ,                          //commons-lang3版本
        LOG_BACK               : '1.1.7'   ,                        //logback日志
        MYBATIS_PLUS           : '3.3.1.tmp'                        //mybatis-plus版本
]
//统一文件编码控制
def encoding = [
        OPTIONS: 'UTF-8'
]
//暴露参数
ext.custom = [
        version : version,
        encoding: encoding,
]

build.gradle
/**
 * ===================================================================================================================
 * -------------------------------------------       引入项目插件         ----------------------------------------------
 * ===================================================================================================================
 */
plugins {
    id 'org.springframework.boot' version '2.2.6.RELEASE'           //spring提供的spring boot插件,主要用到了其依赖管理的功能.
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'    //spring jar版本管理
    id 'java'                                                       //java插件
    id 'maven-publish'                                              //该插件可以将打包的jar发送到maven库
}
/**
 * ===================================================================================================================
 * -------------------------------------------      所有项目的通用配置     ----------------------------------------------
 * ===================================================================================================================
 */
configure(allprojects) { project ->
    //项目基础属性
    group 'com.emodernhy'           //项目所属组织
    version '1.0-SNAPSHOT'          //项目版本号

    //引入插件
    apply plugin: 'java'                                            //java插件
    apply plugin: 'maven'                                           //maven插件
    apply plugin: 'idea'                                            //IDEA插件
    apply plugin: 'eclipse'                                         //eclipse插件
    apply plugin: 'org.springframework.boot'                        //spring boot插件
    apply plugin: 'io.spring.dependency-management'                 //实现maven的依赖统一管理功能
    apply from: "${rootProject.rootDir}/dependency.gradle"          //引入jar包版本配置文件

    //JDK版本声明
    sourceCompatibility = custom.version.JDK
    targetCompatibility = custom.version.JDK

    //配置仓库
    repositories {
        mavenLocal()
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
        maven { url 'https://repo.spring.io/libs-snapshot' }
        maven { url "https://repo.spring.io/snapshot" }
        maven { url "https://repo.spring.io/milestone" }
        mavenCentral()
        jcenter()
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }

    //指定项目编码
    tasks.withType(JavaCompile) {
        options.encoding = "${custom.encoding.OPTIONS}"
    }

    //在多模块下,授权打包依赖模块
    jar {
        enabled = true
    }

    //重打包基础配置
    bootJar {
//        mainClassName = "jpanda.cloud.EurekaServer"
        launchScript()
        archiveName = "${project.group}_${project.name}_${project.version}.jar"
    }


}


/**
 * ===================================================================================================================
 * -------------------------------------------      所有所有项目的通用配置     ---------------------------------------------
 * ===================================================================================================================
 */
configure(allprojects) {
    project ->
        dependencyManagement {
            //定义版本
            dependencies {
                /**
                 * lombok
                 */
                dependency "org.projectlombok:lombok:${custom.version.LOMBOK}"
                /**
                 * 阿里巴巴druid数据库连接池
                 */
                dependency "com.alibaba:druid:${custom.version.ALI_DRUID}"
                /**
                 * mysql数据库驱动
                 */
                dependency "mysql:mysql-connector-java:${custom.version.MYSQL}"
                /**
                 * dom4j xml解析
                 */
                dependency "dom4j:dom4j:${custom.version.DOM4J}"
                /**
                 * JAVA 内省jaxen
                 */
                dependency "jaxen:jaxen:${custom.version.jaxen}"
                /**
                 * commons-lang3
                 */
                dependency "org.apache.commons:commons-lang3:${custom.version.LANG3}"
                /**
                 * MyBatis-Plus 的代码生成器
                 */
                dependency "com.baomidou:mybatis-plus-generator:${custom.version.MYBATIS_PLUS}"
                /**
                 * logback 日志
                 */
                dependency "ch.qos.logback:logback-core:${custom.version.LOG_BACK}"
                dependency "ch.qos.logback:logback-classic:${custom.version.LOG_BACK}"
            }
        }
}

configure(allprojects) {
    project ->
        /**
         * -============================================================================================================
         * -=====================================所有模块的公共依赖==================================================
         * -============================================================================================================
         */
        dependencies {
            /**
             * -=================================================================================-
             * - ********************       基本相关依赖      *************************** -
             * -=================================================================================-
             */
            //使用lombok来简化掉编码过程中的通用的方法.
            implementation 'org.projectlombok:lombok'
            //commons-lang3工具包
            implementation 'org.apache.commons:commons-lang3'
}

configure(subprojects) {
    project ->
        /**
         * -============================================================================================================
         * -=====================================子模块的公共依赖==================================================
         * -============================================================================================================
         */
        dependencies {      
            /**
             * -=================================================================================-
             * - ********************       项目所需依赖      *************************** -
             * -=================================================================================-
             */
            implementation 'org.springframework.boot:spring-boot-starter'
            implementation 'org.springframework.boot:spring-boot-starter-web'
            testImplementation('org.springframework.boot:spring-boot-starter-test') {
                exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
            }
        }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值