maven-publish plugin

可以参阅官方详解官方详解

1. 搭建nexus私服

1-1. 官网下载安装包

官网地址:https://www.sonatype.com/download-oss-sonatype [root@slave1 bin]# wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.7.1-02-unix.tar.gz

1-2. 解压

[root@slave1 bin]# mkdir -p /home/nexus [root@slave1 bin]# tar -zxvf nexus-3.7.1-02-unix.tar.gz -C /home/nexus/

1-3. 运行

[root@slave1 bin]# cd nexus-3.7.1-02/bin/ [root@slave1 bin]# ./nexus start

1-4. 浏览器访问

http://172.18.115.187:8081/ 默认用户名:admin 默认密码:admin123

2. gradle插件上传jar包

创建一个独立的gradle文件upload.gradle

build.gradle引入upload.gradle文件

apply from: 'upload.gradle'

2-1. maven-publish插件

apply plugin: 'maven-publish'


//同时上传源码jar包
task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}
publishing {
     publications {
         mavenJava(MavenPublication) {
            from components.java//如果是war包 from components.web,这里是jar包
            //同时上传源码包
            artifact sourceJar {
                classifier "sources"
            }
        }

        //如果需要自定义重新定义三要素GAV
                 //    maven(MavenPublication) {
                 //       groupId 'org.gradle.sample'
                 //       artifactId 'project1-sample'
                 //       version '1.1'

                   //     from components.java
                  //  }

      //修改pom文件
                  //       mavenCustom(MavenPublication) {
                    //    pom.withXml {
                      //      asNode().appendNode('description',
                     //                           'A demonstration of maven POM customization')
                  //      }
                //    }

     }
     repositories {
         maven {
             url  'http://172.18.115.187:8081/repository/maven-releases/'
             credentials {
                 username = 'admin'
                 password = 'admin123'
             }
         }
     }
 }

2-2. 执行task上传

gradle publish

gradle publishToMavenLocal//发布到本地仓库

3. 引用jar包

build.gradle文件

repositories {
    mavenLocal()//maven本地仓库
    mavenCentral()//maven中央仓库
    maven {url 'http://172.18.115.187:8081/repository/maven-releases/'}//镜像
}

Last updated