目录
默认情况下,Gradle 没有定义任何资源库。使用外部依赖时,需要在 build.gradle 定义仓库。项目自身和构建所需的仓库是分开设置的。
一、项目自身需要的资源
Maven的本地存储库的使用:
repositories {
// 使用本地仓库
mavenLocal()
}
Maven的中央存储库的使用:
repositories {
// 使用 maven 中央仓库
mavenCentral()
}
远程Maven仓库的使用:
repositories {
// 使用 aliyun 仓库
maven {
url 'https://maven.aliyun.com/nexus/content/groups/public/'
}
// 使用 spring 仓库
maven {
url 'https://repo.spring.io/libs-snapshot'
}
}
二、Gradle 构建脚本需要使用的资源
Gradle 构建脚本是在执行构建过程中需要使用的库文件,包含在 buildscript 段中,其中也包含 repositories 和 dependency 的配置项,改部分的配置和上面的使用相同。
// Gradle 构建脚本使用资源示例
buildscript {
repositories {
maven { url 'https://repo.spring.io/libs-snapshot' }
mavenCentral()
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}"
}
}
三、发布 Jar 包
官方文档: https://docs.gradle.org/current/dsl/org.gradle.api.publish.maven.MavenPublication.html
build.gradle 中配置插件和任务
plugins {
id 'groovy'
// 使用 maven 插件
id 'maven-publish'
}
//源文件任务
task sourceJar(type: Jar) {
archiveClassifier = "sources"
from files(sourceSets.main.allSource)
}
// 定义任务
publishing {
publications {
myPublication(MavenPublication) {
groupId = 'xxx.xxx'
artifactId = 'xxx'
version = '1.0-SNAPSHOT'
from components.java
//打包源文件
artifact(sourceJar)
}
}
// 配置发布的地址
repositories {
// 本地仓库,也可以配置其他仓库
mavenLocal()
}
}
运行发布任务
运行 publishToMavenLocal 后,jar 包发布到指定的 Maven库中。