加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
build.gradle 11.56 KB
一键复制 编辑 原始数据 按行查看 历史
Tom008 提交于 2024-06-03 18:04 . 1221_【掌握】Shiro用户认证
buildscript { // 定义脚本使用资源
apply from: 'dependencies.gradle' // 引入所需要的依赖库文件
repositories { // 脚本资源仓库
maven { url 'https://maven.aliyun.com/repository/public' }
}
dependencies { // 依赖库
classpath libraries.'spring-boot-gradle-plugin'
}
}
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' // 引入之前的插件
apply plugin: 'io.spring.dependency-management' // 引入之前的插件
sourceCompatibility = project_jdk // 本次项目都是基于JDK-11版本编写的
targetCompatibility = project_jdk // 本次项目都是基于JDK-11版本编写的
repositories { // 配置Gradle仓库
def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
all {
ArtifactRepository repo ->
if (repo instanceof MavenArtifactRepository) {
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
}
}
maven { url ALIYUN_REPOSITORY_URL } // 设置阿里云仓库
maven { url ALIYUN_JCENTER_URL } // 设置阿里云仓库
}
dependencies { // 公共依赖库管理
compile('org.springframework.boot:spring-boot-devtools') // 允许进行项目的热部署
// 以下为测试环境的相关依赖配置
testImplementation('org.springframework.boot:spring-boot-starter-test') { // 此时默认会引入JUnit4组件
exclude group: 'junit', module: 'junit' // 移除旧版本的测试工具
}
testImplementation(enforcedPlatform(libraries.'junit-bom')) // 将当前的项目强制性的绑定为JUnit5运行
testImplementation(libraries.'junit-jupiter-api')
testImplementation(libraries.'junit-vintage-engine')
testImplementation(libraries.'junit-jupiter-engine')
testImplementation(libraries.'junit-platform-launcher')
// 以下为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测试平台
}
// 最终生成的jar文件名称:baseName-version-classifier.extension
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' // 编码配置
}
project('microboot-web') { // 子模块
dependencies { // 配置子模块依赖
compile(project(':microboot-common')) // 引入其他子模块
compile(libraries.'itextpdf') // 引入PDF相关依赖
compile(libraries.'easypoi-spring-boot-starter')// 引入EasyPOI组件
compile('org.springframework.boot:spring-boot-starter-aop')//引入AOP组件
compile('org.springframework.boot:spring-boot-starter-mail')//引入邮箱组件
compile(libraries.'hibernate-validator') // 引入依赖库
compile('org.springframework.boot:spring-boot-starter-actuator')
compile(libraries.'micrometer-registry-prometheus')
implementation(libraries.'shedlock-spring')
implementation(libraries.'shedlock-provider-redis-spring')
implementation(libraries.'spring-boot-starter-data-redis')
implementation(libraries.'commons-pool2')
compile('org.springframework.boot:spring-boot-starter-websocket')
}
}
project('microboot-thymeleaf') { // 子模块
dependencies { // 配置子模块依赖
compile(project(':microboot-common')) // 引入其他子模块
compile('org.springframework.boot:spring-boot-starter-thymeleaf') // 引入了Thymeleaf模版
}
}
project('microboot-common') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
compile(libraries.'validation-api')
}
}
project('microboot-webservice-common') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
compile('org.springframework.boot:spring-boot-starter-web-services') // WebService依赖
compile(libraries.'jaxws-ri')
compile(libraries.'cxf-spring-boot-starter-jaxws')
compile(libraries.'cxf-rt-transports-http')
compile(libraries.'hibernate-validator')
}
}
project('microboot-webservice-server') {
dependencies { // 配置子模块依赖
compile(project(':microboot-webservice-common')) // 引入其他子模块
}
}
project('microboot-webservice-client') {
dependencies { // 配置子模块依赖
compile(project(':microboot-webservice-common')) // 引入其他子模块
}
}
project('microboot-webflux') { // 子模块
dependencies { // 配置子模块依赖
implementation('org.springframework.boot:spring-boot-starter-webflux')
}
}
project('microboot-rsocket-base') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
compile('org.springframework.boot:spring-boot-starter-rsocket')
}
}
project('microboot-rsocket-common') { // 子模块
dependencies { // 配置子模块依赖
}
}
project('microboot-rsocket-server') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
compile('org.springframework.boot:spring-boot-starter-rsocket')
compile(project(':microboot-rsocket-common'))
}
}
project('microboot-rsocket-client') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
compile('org.springframework.boot:spring-boot-starter-rsocket')
compile(project(':microboot-rsocket-common'))
}
}
project('microboot-rsocket-websocket') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
compile('org.springframework.boot:spring-boot-starter-rsocket')
compile(project(':microboot-rsocket-common'))
}
}
project('microboot-autoconfig-starter') { // 子模块
dependencies { // 配置子模块依赖
annotationProcessor('org.springframework.boot:spring-boot-configuration-processor')
implementation('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
}
}
project('microboot-database') { // 子模块
dependencies { // 配置子模块依赖
compile(project(':microboot-common')) // 引入其他子模块
compile('org.springframework.boot:spring-boot-starter-actuator')
compile(libraries.'mysql-connector-java')
compile(libraries.'druid-spring-boot-starter') // 删除掉此依赖库配置
compile(libraries.'druid') // 添加原始依赖
compile(libraries.'spring-jdbc')
compile('org.springframework.boot:spring-boot-starter-aop')
compile(libraries.'mybatis')
compile(libraries.'mybatis-spring-boot-starter')
compile(libraries.'mybatis-plus')
compile('org.springframework.boot:spring-boot-starter-jta-atomikos')
}
}
project('microboot-spring-security') { // 子模块
dependencies { // 配置子模块依赖
compile(project(':microboot-common')) // 引入其他子模块
compile('org.springframework.boot:spring-boot-starter-security')
compile(libraries.'mysql-connector-java')
compile(libraries.'druid-spring-boot-starter')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
}
}
project('microboot-oauth2') { // 子模块
dependencies { // 配置子模块依赖
compile(project(':microboot-common')) // 引入其他子模块
compile('org.springframework.boot:spring-boot-starter-security')
compile(libraries.'mysql-connector-java')
compile(libraries.'druid-spring-boot-starter')
compile(libraries.'commons-pool2')
compile(libraries.'spring-boot-starter-data-redis')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile(libraries.'spring-security-oauth2-autoconfigure')
}
}
project('microboot-oauth2-client') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')
compile('org.springframework.boot:spring-boot-starter-security')
compile('org.springframework.security.oauth.boot:' +
'spring-security-oauth2-autoconfigure:2.4.3') // OAuth2依赖
}
}
project('microboot-jwt') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')
compile(libraries.'fastjson')
compile(libraries.'jjwt')
compile(libraries.'jaxb-api')
}
}
project('microboot-shiro') { // 子模块
dependencies { // 配置子模块依赖
compile('org.springframework.boot:spring-boot-starter-web')// 引入SpringBoot依赖
compile(libraries.'shiro-spring-boot-web-starter')// 引入Shiro依赖
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化