首页 > 其他 > 详细

build.gradle模板文件

时间:2021-05-21 18:15:23      阅读:51      评论:0      收藏:0      [点我收藏+]

首先是一个项目包含group、name、version 。

1、settings.gradle

settings.gradle是用来管理多项目的,里面包含了项目的name

/**
 * rootProject.name 项目名称
 * include 模块名称
 */
rootProject.name = ‘micro-service-framework‘
include ‘framework-base‘
include ‘framework-web‘
include ‘framework-redis‘

 

2、build.gradle

// buildscript 代码块中脚本优先执行
buildscript {
  // ext 用于定义动态属性
    ext {
        //spring boot 版本
        bootVersion = ‘2.0.6.RELEASE‘
    }
  // 自定义 Thymeleaf 和 Thymeleaf Layout Dialect 的版本
  ext[‘thymeleaf.version‘] = ‘3.0.3.RELEASE‘
  ext[‘thymeleaf-layout-dialect.version‘] = ‘2.2.0‘

  // 自定义 Hibernate 的版本
  ext[‘hibernate.version‘] = ‘5.2.8.Final‘


 
    //私服地址,这个地址适用于gradle自身,比如删除,下面的springboot插件就会找不到
    repositories {
        mavenCentral()
        maven { url ‘http://maven.aliyun.com/nexus/content/groups/public/‘ }
            maven {
        url ‘https://nexus.xxx.net/repository/maven-public/‘
        credentials {
            username = "zhanghao"
            password = "mima"
        }
    }
    }
 
    // 依赖关系
    dependencies {
        //classpath 声明说明了在执行其余的脚本时,ClassLoader 可以使用这些依赖项----springboot gradle插件配置
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${bootVersion}")
    }
}
 
 
allprojects {
    //导入使用的插件
    apply plugin: ‘java‘
    apply plugin: ‘maven‘
    //如果导入该插件,你需要指定main class,否则不能打包
    //apply plugin: ‘org.springframework.boot‘
    apply plugin: ‘io.spring.dependency-management‘
    //这个插件用于发布jar包到私服
    apply plugin: ‘maven-publish‘
 
    //jdk编译版本
    sourceCompatibility = 1.8
 
    //jar包的group ,version配置
    group ‘net.178le.micro‘
    version ‘0.0.1-SNAPSHOT‘
 
    //私服地址,
    repositories {
        maven { url ‘http://maven.aliyun.com/nexus/content/groups/public/‘ }
    }
 
    /**
     * 导入了springboot,spring cloud的pom文件,能够免去自己管理版本
     * PS: 在Spring官网指导上面有另外一种配置,那种配置需要配置main class,一会说明
     */
    dependencyManagement {
        imports {
            mavenBom "org.springframework.boot:spring-boot-starter-parent:${bootVersion}"
            mavenBom "org.springframework.cloud:spring-cloud-dependencies:Finchley.SR2"
        }
    }
 
 
    //私服发布配置
    publishing {
        publications {
            maven(MavenPublication) {
                //指定group/artifact/version信息,可以不填。默认使用项目group/name/version作为groupId/artifactId/version
                groupId = project.group
                artifactId = project.name
                version = project.version
                //如果是war包填写components.web,如果是jar包填写components.java
                from components.java
 
                //配置上传源码
                artifact sourceJar {
                    classifier "src"
                }
 
            }
        }
        repositories {
            maven {
                def releasesUrl = "http://你的私服ip:8081/repository/maven-releases/"
                def snapshotsUrl = "http://你的私服ip:8081/repository/maven-snapshots/"
                url = version.endsWith(‘SNAPSHOT‘) ? snapshotsUrl : releasesUrl
                credentials {
                    username = ‘admin‘
                    password = ‘admin123‘
                }
            }
        }
    }
 
}
 
//这里的配置对子项目生效
subprojects {
 
    dependencies {
        testCompile("org.springframework.boot:spring-boot-starter-test")
        compile("com.google.guava:guava:28.0-jre")
    }
}
 
//打包源码
task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}

 

 说明:

apply:是应用的插件

dependencies:是用于声明这个项目依赖于哪些jar

在处理依赖时分:

  • complile(编译时)
  • runtime(运行时)
  • testCompile(测试编译时)
  • testRuntime(测试运行时)

repositories:是一个仓库gradle会根据从上到下的顺序依次去仓库中寻找jar  

这里可以进行配置,其中mavenLocal()表示使用本地maven仓库;mavenCentral()使用maven中心仓库 。使用固定的地址,这里可以使用阿里云(maven {url ‘http://maven.aliyun.com/nexus/content/groups/public/‘})的镜像下载速度会快一些,然后也可以使用公司内部的私服地址 。

 

项目依赖:

dependencies {
    //依赖framework-base
    compile project(‘:framework-base‘)
    compile(‘org.springframework.boot:spring-boot-starter-data-redis‘)
}

 

gradle几个命令:

gradle cleanEclipse eclipse

gradle eclipse

gradle dependencies

gradle调试

在命令后面增加--stacktrace,可查看详细的错误信息

例如:

 

D:\space2021\gateway2-starter>gradle clean publish --stacktrace

 

build.gradle模板文件

原文:https://www.cnblogs.com/duanxz/p/3738541.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!