代码拉取完成,页面将自动刷新
/**
* 依赖引入建议
* implementation 仅实现依赖项。
* compileOnly 仅编译时依赖项,不在运行时使用。
* compileClasspath extends compileOnly, implementation 编译类路径,在编译源代码时使用。由任务compileJava使用。
* annotationProcessor 编译期间使用的注释处理器。
* runtimeOnly 仅运行时依赖项。
* runtimeClasspath extends runtimeOnly, implementation 运行时类路径包含实现的元素,以及仅运行时的元素。
* testImplementation extends implementation 测试的仅实现依赖项。
* testCompileOnly 其他依赖项仅用于编译测试,不在运行时使用。
* testCompileClasspath extends testCompileOnly, testImplementation 测试编译类路径,在编译测试源时使用。由任务compileTestJava使用。
* testRuntimeOnly extends runtimeOnly 运行测试的仅运行时依赖项。
* testRuntimeClasspath extends testRuntimeOnly, testImplementation 用于运行测试的运行时类路径。由任务测试使用。
* archives 该项目产生的人工制品(如罐子)。Gradle用于确定构建时要执行的“默认”任务。
* default extends runtimeElements 此项目的项目依赖项使用的默认配置。包含此项目在运行时所需的工件和依赖项。
* **********************************************
* implementation 编译项目的生产源代码所需的依赖项不是项目公开的 API 的一部分。例如,该项目将 Hibernate 用于其内部持久层实现。
* api 编译项目的生产源所需的依赖项,它们是项目公开的 API 的一部分。例如,该项目使用 Guava 并在其方法签名中公开带有 Guava 类的公共接口
* testImplementation 编译运行项目测试源码所需的依赖。例如,该项目决定使用测试框架 JUnit 编写测试代码。
*/
//引入gradle官方插件 新用法
plugins {
id 'java-library'
id 'idea'
id 'org.springframework.boot' version '2.6.5'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
// 导入本工程中自定义的插件
id 'study.gradle.plugin'
}
//allprojects是对所有project的配置,包括Root Project(根项目)。
allprojects {
// java 插件
apply plugin: 'java-library'
//项目是idea插件
apply plugin: 'idea'
// 版本管理插件
apply plugin: 'io.spring.dependency-management'
//组名
group 'top.hekun.study'
// 版本号
version '1.0-SNAPSHOT'
// 声明jdk版本
sourceCompatibility = '1.8'
// 声明使用编码
[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
//根项目和子项目(模块)统一报管理
repositories {
//优先从本地仓库获取
mavenLocal()
//仓库:gradle会根据从上到下的顺序依次去仓库中寻找依赖
//从阿里云或者公司仓库获取
maven { url 'https://maven.aliyun.com/repository/central' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://maven.aliyun.com/repository/apache-snapshots' }
//从中央仓库获取
mavenCentral()
maven { url 'https://repo.spring.io/milestone' }
maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://jitpack.io' }
maven { url 'https://repository.jboss.org/nexus/content/repositories/thirdparty-releases' }
}
// 通俗的讲就是全局变量定义
ext {
DynamicDatasourceSpringBootStarterVersion = "3.3.2"
TaosJdbcdriverVersion = "2.0.25"
MybatisPlusBootStarterVersion = "3.5.2"
DruidSpringBootStarterVersion = "1.2.6"
KaptchaVersion = "2.3.2"
FastJsonVersion = "1.2.83"
H2Version = '1.4.200'
NimbusJoseJwtVersion = '8.16'
UserAgentUtilsVersion = '1.21'
LombokVersion = '1.18.22'
AsmVersion = '9.5'
}
// 统一的依赖版本管理
dependencyManagement {
dependencies {
// json 解析
dependency "com.alibaba:fastjson:${FastJsonVersion}"
// 验证码
dependency "com.github.penggle:kaptcha:${KaptchaVersion}"
// 动态数据源
dependency "com.baomidou:dynamic-datasource-spring-boot-starter:${DynamicDatasourceSpringBootStarterVersion}"
//涛思数据驱动
dependency "com.taosdata.jdbc:taos-jdbcdriver:${TaosJdbcdriverVersion}"
//CRUD mybatis-plus 操作
dependency "com.baomidou:mybatis-plus-boot-starter:${MybatisPlusBootStarterVersion}"
// H2数据库 用来存储链接配置信息及防治无master报错
dependency "com.h2database:h2:${H2Version}"
// 考虑换掉druid
dependency "com.alibaba:druid-spring-boot-starter:${DruidSpringBootStarterVersion}"
// JWT
dependency "com.nimbusds:nimbus-jose-jwt:${NimbusJoseJwtVersion}"
// 解析客户端操作系统、浏览器等
dependency "eu.bitwalker:UserAgentUtils:${UserAgentUtilsVersion}"
// 辅助注解
dependency "org.projectlombok:lombok:${LombokVersion}"
// ASM字节码编辑
dependency "org.ow2.asm:asm:${AsmVersion}"
dependency "org.ow2.asm:asm-commons:${AsmVersion}"
dependency "org.ow2.asm:asm-util:${AsmVersion}"
dependency "org.ow2.asm:asm-tree:${AsmVersion}"
dependency "org.ow2.asm:asm-analysis:${AsmVersion}"
}
}
dependencies {
implementation 'org.projectlombok:lombok'
// 如果gradle 设置中的 编译和运算选择gradle 这必须添加, 如果选择idea编译和计算则可以不用添加annotationProcessor
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly group: 'junit', name: 'junit', version: '4.12'
}
task 项目初始化(group: 'a-自定义脚本', description: '用于项目目录结果初始化') {
def fileDir = projectDir
def name = getProject().name + " 模块 > "
File gradleFile = new File(fileDir, "build.gradle")
File mainJava = new File(new File(new File(new File(new File(new File(fileDir, "src"), "main"), "java"), "top"), "hekun"), "study")
File mainResources = new File(new File(new File(fileDir, "src"), "main"), "resources")
File testJava = new File(new File(new File(new File(new File(new File(fileDir, "src"), "test"), "java"), "top"), "hekun"), "study")
File testResources = new File(new File(new File(fileDir, "src"), "test"), "resources")
if (!mainJava.exists()) {
println name + "java文件目录不存在,准备创建"
mainJava.mkdirs()
}
if (!mainResources.exists()) {
println name + "资源目录不存在,准备创建"
mainResources.mkdirs()
}
if (!testJava.exists()) {
println name + "测试环境-java文件目录不存在,准备创建"
testJava.mkdirs()
}
if (!testResources.exists()) {
println name + "测试环境-资源目录不存在,准备创建"
testResources.mkdirs()
}
if (!gradleFile.exists()) {
println name + "build.gradle,准备创建"
gradleFile.createNewFile()
}
}
}
//subprojects是对所有Child Project(子项目[子模块])的配置
//根项目上采用配置注入的方式定义一些公共配置。根项目就像一个容器,子项目会迭代访问它的配置并注入到自己的配置中。
//所有子模块共享的配置
subprojects {
//子项目(模块)独立使用依赖
dependencies {
}
// // 关闭bootjar功能
// bootJar {
// enabled = false
// }
// // jar包不带主启动类
// jar {
// enabled = true
// }
}
// 根模块没有 java的情况下 不能有测试
//tasks('test') {
// useJUnitPlatform()
//}
// 根项目使用的依赖
dependencies {
// implementation "org.ow2.asm:asm"
// implementation "org.ow2.asm:asm-commons"
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
//task 测试(type :Copy ){
// group= 'b-测试自定义脚本'
//// 设置自定义task属性
//// release = version.release
//// destFile = versionFile
//}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。