docker+nexus3+gradle组建私有的jar包上传

安装nexus3

我使用的docker镜像是sonatype/nexus3

1.下载镜像

docker pull sonatype/nexus3
#docker 镜像使用说明
#https://hub.docker.com/r/sonatype/nexus3/

2. 创建存储nexus3数据的文件夹并赋权限

mkdir /data/nexus-data && chown -R 200 /data/nexus-data

3.挂在并启动容器

docker run -d -p 8081:8081 --name nexus -v /data/nexus-data:/nexus-data sonatype/nexus3

现在我们就可以在8081端口上看到nexus3的界面了
默认用户名:admin
默认密码:admin123

你要上传项目的配置

build.gradle配置

group 'util'
version '1.0-SNAPSHOT'

apply plugin: 'java'
//我们需要这个插件来上传jar包
apply plugin: 'maven'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'joda-time', name: 'joda-time', version: '2.9.9'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
//我们上传jar包时使用的task
uploadArchives {
    configuration = configurations.archives
    repositories {
        mavenDeployer {
            snapshotRepository(url: MAVEN_REPO_SNAPSHOT_URL) {
                authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
            }
            repository(url: MAVEN_REPO_RELEASE_URL) {
                authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
            }
            pom.project {
                version '1.0.0'
                artifactId 'util'
                groupId GROUP_ID
                packaging TYPE
                description DESCRIPTION
            }
        }
    }
}

gradle.properties配置

该文件与build.gradle在同级目录是gradle默认的读取配置信息的文件,如果没有可以自己创建一个

#Maven仓库的URL
MAVEN_REPO_RELEASE_URL=http://IP:8081/repository/maven-releases/
MAVEN_REPO_SNAPSHOT_URL=http://IP:8081/repository/maven-snapshots/

#对应maven的GroupId的值
GROUP = common

#登录nexus ossde的用户名
NEXUS_USERNAME=admin

#登录nexus oss的密码
NEXUS_PASSWORD=admin123

# groupid
GROUP_ID = common

# type
TYPE = jar

# description
DESCRIPTION = This is util lib

将maven-releases仓库设置为允许发布,release默认不开启允许发布

1.访问并使用admin登陆你的nexus3服务,并且切换到设置页面,点击maven-releases项


image.png

2.修该为允许发布并保存


image.png

上传项目

进入你要上传项目的根目录 执行gradle uploadArchives
执行成功你会看到

BUILD SUCCESSFUL in 1s
3 actionable tasks: 1 executed, 2 up-to-date

要使用nexus3私服的项目配置

build.gradle配置

group 'client'
version '1.0-SNAPSHOT'

apply plugin: 'java'

sourceCompatibility = 1.8

repositories {
    //这里是你nexus3私服的地址,与你上传jar包中设置的一致
    maven { url "http://ip:8081/repository/maven-releases/" }
    mavenCentral()

}

dependencies {
    //这里是刚刚上传jar包时设置的组织,名称和版本
    compile group: 'common', name: 'util', version: '1.0.0'
    testCompile group: 'junit', name: 'junit', version: '4.12'
}

DEMO项目已上传到码云:https://gitee.com/wangyongshun/gradleManage.git

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,155评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,153评论 6 342
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,376评论 25 709
  • GitHub是基于git实现的代码托管。git是目前最好用的版本控制系统了,非常受欢迎,比之svn更方便 理论说太...
    境里婆娑阅读 3,304评论 1 4
  • 浩荡宇宙,有物如斯,闪熠星光,不掩其辉。 其意如琴,其格如棋,其韵如诗,其梦如画; 绵似风吟,柔比水唱;刚较刀兵,...
    且与风舞阅读 1,432评论 0 0

友情链接更多精彩内容