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

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

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

发布步骤:

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

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

发布到私服

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打包jar发布到私服与本地仓库)