首页 > 其他分享 >0202_【掌握】构建SpringCloud项目

0202_【掌握】构建SpringCloud项目

时间:2022-12-26 22:45:06浏览次数:41  
标签:versions spring SpringCloud libraries platform 构建 org 0202 junit

1、
ext.versions = [ // 定义全部的依赖库版本号
springboot : '2.2.5.RELEASE', // SpringBoot版本号
springcloud : 'Hoxton.SR3', // SpringCloud版本号
alibabacloud : '2.2.1.RELEASE', // SpringCloudAlibaba版本号
lombok : '1.18.20', // Lombok版本号
junit : '5.6.3', // 配置JUnit测试工具的版本编号
junitPlatformLauncher : '1.6.3', // JUnit测试工具运行平台版本编号

]

ext.libraries = [ // 依赖库引入配置
'spring-boot-gradle-plugin':
"org.springframework.boot:spring-boot-gradle-plugin:${versions.springboot}",
'spring-cloud-dependencies':
"org.springframework.cloud:spring-cloud-dependencies:${versions.springcloud}",
'spring-cloud-alibaba-dependencies':
"com.alibaba.cloud:spring-cloud-alibaba-dependencies:${versions.alibabacloud}",
// 以下的配置为与项目用例测试有关的依赖
'junit-jupiter-api':
"org.junit.jupiter:junit-jupiter-api:${versions.junit}",
'junit-vintage-engine':
"org.junit.vintage:junit-vintage-engine:${versions.junit}",
'junit-jupiter-engine':
"org.junit.jupiter:junit-jupiter-engine:${versions.junit}",
'junit-platform-launcher':
"org.junit.platform:junit-platform-launcher:${versions.junitPlatformLauncher}",
'junit-platform-engine':
"org.junit.platform:junit-platform-engine:${versions.junitPlatformLauncher}",
'junit-jupiter-params':
"org.junit.jupiter:junit-jupiter-params:${versions.junit}",
'junit-bom': "org.junit:junit-bom:${versions.junit}",
'junit-platform-commons':
"org.junit.platform:junit-platform-commons:${versions.junitPlatformLauncher}",
// 以下的配置为Lombok组件有关的依赖
'lombok': "org.projectlombok:lombok:${versions.lombok}",
]

 

 

 

2、
buildscript { // 定义脚本使用资源
apply from: 'dependencies.gradle' // 引入所需要的依赖库文件
repositories { // 脚本资源仓库
maven { url 'https://maven.aliyun.com/repository/public' }
}
dependencies { // 依赖库
classpath libraries.'spring-boot-gradle-plugin' // SpringBoot插件
}
}
group project_group // 组织名称
version project_version // 项目版本

 

apply from: 'dependencies.gradle' // 导入依赖配置
def env = System.getProperty("env") ?: 'dev' // 获取env环境属性

 

subprojects {    // 配置子项目

apply plugin: 'java' // 子模块插件
apply plugin: 'org.springframework.boot' // 引入SpringBoot插件
apply plugin: 'io.spring.dependency-management' // 版本号管理
sourceCompatibility = project_jdk // 源代码版本
targetCompatibility = project_jdk // 生成类版本

 

repositories { // 配置Gradle仓库
mavenLocal()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
mavenCentral()
jcenter()
}

dependencyManagement {// 版本控制插件
imports {
mavenBom libraries.'spring-cloud-dependencies' // SpringCloud依赖管理
mavenBom libraries.'spring-cloud-alibaba-dependencies' // SpringCloudAlibaba依赖管理
}
}

    dependencies {  // 公共依赖库管理

        compile('org.springframework.boot:spring-boot-devtools') // 项目热部署

// 以下为测试环境的相关依赖配置
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'junit', module: 'junit' // 移除Junit4
}

testImplementation(enforcedPlatform(libraries.'junit-bom')) // 绑定为JUnit5运行
testImplementation(libraries.'junit-platform-commons') // Junit5测试组件
testImplementation(libraries.'junit-platform-engine') // Junit5测试组件
testImplementation(libraries.'junit-jupiter-api') // Junit5测试组件
testImplementation(libraries.'junit-vintage-engine') // Junit5测试组件
testImplementation(libraries.'junit-jupiter-engine') // Junit5测试组件
testImplementation(libraries.'junit-platform-launcher') // Junit5测试组件

// 以下为Lombok插件的相关依赖配置
compileOnly(libraries.'lombok') // 编译时生效
annotationProcessor(libraries.'lombok') // 注解时生效

 

 

}

 

    sourceSets {    // 源代码目录配置

        main { // main及相关子目录配置

java { srcDirs = ['src/main/java'] }
resources { srcDirs = ['src/main/resources', "src/main/profiles/$env"] }

}

 

        test{ // test及相关子目录配置

java { srcDirs = ['src/test/java'] }
resources { srcDirs = ['src/test/resources'] }

}

test { // 配置测试任务
useJUnitPlatform() // 使用JUnit测试平台
}

task sourceJar(type: Jar, dependsOn: classes) { // 源代码的打包任务
archiveClassifier = 'sources' // 设置文件的后缀
from sourceSets.main.allSource // 所有源代码的读取路径
}

test { // 配置测试任务
useJUnitPlatform() // 使用JUnit测试平台
}
task sourceJar(type: Jar, dependsOn: classes) { // 源代码的打包任务
archiveClassifier = 'sources' // 设置文件的后缀
from sourceSets.main.allSource // 所有源代码的读取路径
}
task javadocTask(type: Javadoc) { // JavaDoc文档打包任务
options.encoding = 'UTF-8' // 设置文件编码
source = sourceSets.main.allJava // 定义所有的Java源代码
}
task javadocJar(type: Jar, dependsOn: javadocTask) { // 先生成JavaDoc再打包
archiveClassifier = 'javadoc' // 文件标记类型
from javadocTask.destinationDir // 通过JavadocTask任务中找到目标路径
}

tasks.withType(Javadoc) { // 文档编码配置
options.encoding = 'UTF-8' // 定义编码
}
tasks.withType(JavaCompile) { // 编译编码配置
options.encoding = 'UTF-8' // 定义编码
}

artifacts { // 最终的打包的操作任务
archives sourceJar // 源代码打包
archives javadocJar // javadoc打包
}
gradle.taskGraph.whenReady { // 在所有的操作准备好后触发
tasks.each { task -> // 找出所有的任务
if (task.name.contains('test')) { // 如果发现有test任务
// 如果将enabled设置为true表示要执行测试任务,如果设置为false表示不执行测试任务
task.enabled = true
}
}
}

 [compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'// 编码配置

}

 

 

 

}

3、
127.0.0.1 provider-dept-8001
127.0.0.1 consumer-springboot-80


4、
https://gitee.com/threesoil/microcloud

 

标签:versions,spring,SpringCloud,libraries,platform,构建,org,0202,junit
From: https://www.cnblogs.com/cnetsa/p/17007076.html

相关文章

  • 0106_【掌握】SpringCloudNetflix技术架构
    1、https://spring.io/projects/spring-cloud2、https://docs.spring.io/spring-cloud/docs/current/reference/html/ 0107_【掌握】SpringCloudAlibaba技术架构1、ht......
  • 华为云连接CC——多场景构建数据网,助力企业享受高质量办公体验
    ​数据的存储、传输及下载对企业高效办公来说是重要的一环,企业需要一个平台能够保证多区域、特别是海内外跨区域的存储数据与传输数据安全、顺畅进行。在不少企业办公场景中......
  • EA构建静态、动态模型图
    文章目录​​一.活动图(流程图)​​​​1.建立活动图​​​​2.添加泳道​​​​3.简述活动图构建模型过程​​​​4.事件泳道活动图​​​​5.行为建模​​​​(1).类......
  • WebXR 技术调研 - 在浏览器中构建扩展现实(XR)应用【转】
    WebXR是一组支持将渲染3D场景用来呈现虚拟世界(虚拟现实,也称作VR)或将图形图像添加到现实世界(增强现实,也称作AR)的标准。通过该API可以访问VR/AR虚拟设备和跟踪用户姿......
  • 雍熙签约厦门大学附属心血管病医院 | 构建面向全球的国际化官网
    近日,雍熙签约公立三级心血管病专科医院厦门大学附属心血管病医院,这是继百汇医院、美华妇儿医院后雍熙又一大型医院客户。此次签约,雍熙将根据厦门大学附属心血管病医院的发展......
  • YonBuilder应用构建教程之移动端基础配置
    在YonBuilder中除了PC端应用的构建外,我们还可以构建配套的移动端页面。对于同一个数据实体可以实现PC端和移动端的数据同步修改,使数据录入、修改、审批等更加便捷。本篇文章......
  • 构建一个反应式 RESTful Web 服务
    本指南将引导您完成创建“你好,春天!带有SpringWebFlux的RESTfulWeb服务(SpringBoot2.0的新功能),然后使用WebClient使用该服务(也是SpringBoot2.0的新功能)。本指南展示了使......
  • Spring Boot中使用Swagger2构建强大的RESTful API文档
    由于SpringBoot能够快速开发、便捷部署等特性,相信有很大一部分SpringBoot的用户会用来构建RESTfulAPI。而我们构建RESTfulAPI的目的通常都是由于多终端的原因,这些终端会......
  • 构建根文件系统的其他部分
    /etc/inittab格式id:runlevels:action:processid:ID意义对BusyBoxinit和SystemVinit是不同的,此处ID指明程序的控制tty,如果程序不需要交互,则ID为空runlevels:BusyBox......
  • 构建根文件系统的步骤
    采用Busybox创建基本命令创建基本的目录/lib/etc/var/tmp/dev/sys/proc等添加glibc基本动态库创建基本的设备节点添加启动配置和脚本程序/etc/inittab/etc/fsta......