Gradle 自动化构建工具,这里讲解是gradle将项目打包成jar之后,如果发布
- 发布到自己公司的私服(Nexus)
- 发布到自己电脑的本地仓库(.m2目录)
发布步骤:
引入maven-publish 插件,此插件在gradle构建脚本中有一个扩展名publishing,发布的功能是由MavenPublication发布什么东西和MavenArtifactRepository发布到那里去相当于存储库两个对象完成。
配置发布的项目信息与发布地址
发布到私服
plugins{
id 'maven-publish'
}
// 源码包
task sourceJar(type: Jar) {
from sourceSets.main.allJava
classifier "sources"
}
//maven-publish 扩展名
publishing {
// 配置发布的项目信息
publications{
library(MavenPublication){
// MavenPublication 中有一些属性,主要包括groupId,artifactId,version,from,artifact
// 其中groupId,artifactId,version,artifact都是选填的,不填默认去取项目的相关信息;
groupId project.group // 项目的group
artifactId 'test-'+project.name //项目name
version project.version
//如果打成war包填写components.web,如果打成jar包填写components.java
from components.java
artifact sourceJar
}
}
// 配置发布的地址
repositories{
maven{
// 私服地址
url = 'https://xxxx'
// 验证信息
credentials{
// 私服的用户与密码
username 'root'
password '123456'
}
}
}
}
发布到本地
发布到本地与发布私服唯一的区别就是地址的不同,将发布的地址填写为本地就可以了
plugins{
id 'maven-publish'
}
task sourceJar(type: Jar) {
from sourceSets.main.allJava
classifier "sources"
}
publishing {
publications{
library(MavenPublication){
from components.java
artifact sourceJar
}
}
// 配置发布的地址
repositories{
// 一. 这种方式是最简便的方式
mavenLocal()
// 二. 或者使用自己配置本地路径,第一与第二使用一种就可以了
maven{
def localMavenRepo = 'file://' + new File(System.getProperty('user.home'), '.m2/repository').absolutePath
url localMavenRepo
}
}
}