Gradle打包jar发布到私服与本地仓库

Gradle 自动化构建工具,这里讲解是gradle将项目打包成jar之后,如果发布

  • 发布到自己公司的私服(Nexus)
  • 发布到自己电脑的本地仓库(.m2目录)

发布步骤:

  1. 引入maven-publish 插件,此插件在gradle构建脚本中有一个扩展名publishing,发布的功能是由MavenPublication发布什么东西和MavenArtifactRepository发布到那里去相当于存储库两个对象完成。

  2. 配置发布的项目信息与发布地址

发布到私服

在原来的build.gradle 配置文件中追加这些配置即可

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
        }
		}
}

你可能感兴趣的:(Gradle,详解,java,知识分析)