java开发者对接私服

  1. JAVA开发者向仓库发布构件
    1. 方式一:通过nexus3网页在线发布
    2. 方式二:通过gradle发布(重点)
    3. 服务器资源储存路径
  2. JAVA开发者从仓库拉取构件

JAVA开发者向仓库发布构件

命名策略

  • Group ID通常为com+机构名称,如com.shar。
  • Artlfact ID通常为构件名称,如commondao。

方式一:通过nexus3网页在线发布

网站:http://192.168.3.88:9001/nexus3
账号:publish
密码:publish

顾名思义就是上传jar包到私服中

注意:通过页面直接上传的方式只是上传了jar包,若这个jar通过Maven依赖了其他jar,开发过程中依赖了这个jar时无法取得它的依赖。所以,除非这个jar没有任何依赖,否则还是推荐通过命令行或者IDE的方式上传jar包,这样才会把pom一并上传。

方式二:通过gradle发布(重点)

方便管理参数,我们新建gradle.properties,将常用参数设置一下:
(如果是项目集,建议写在父项目下,在子项目下执行gradle命令也同样会加载此配置文件)

soft public groupId
GROUPID=com.hexoadmin
soft version
VERSION=1.0.0
release tongyong dizhi
Maven_REPO_PUBLIC_URL=http://192.168.3.88:9001/nexus3/repository/Maven-public/
release cangku dizhi
Maven_REPO_RELEASE_URL=http://192.168.3.88:9001/nexus3/repository/Maven-releases/
fabu shi xuyao zhanghao mima
Maven_DEPLOY_USER=publish
fabu shi xuyao zhanghao mima
Maven_DEPLOY_PASSWORD=publish

编写gradle.build(如果是项目集,建议写父项目里subprojects节点下面,如此一来子项目都不用配置了)

//打包源码
task sourceJar(type: Jar) {
    from sourceSets.main.allJava
}

//发布到私服
apply plugin: 'Maven' //发布到Maven 库中的插件
apply plugin: 'Maven-publish' //发布到Maven 库中的插件

publishing {
    publications {
        Maven(MavenPublication) {
            //指定group/artifact/version信息,可以不填。
//默认使用项目group/name/version作为groupId/artifactId/version
            groupId groupId
            artifactId project.name
            version version
            //如果是war包填写components.web,如果是jar包填写components.java
            from components.java

            //配置上传源码
            artifact sourceJar {
                classifier "sources"
            }

        }
    }
    repositories {
        Maven {
            if (VERSION.endsWith('-SNAPSHOT')) {
                    //指定要上传的maven私服仓库
                    url = MAVEN_REPO_SNAPSHOTS_URL
                } else {
                    //指定要上传的maven私服仓库
                    url = MAVEN_REPO_RELEASE_URL
                }
            //认证用户和密码
            credentials {
                username Maven_DEPLOY_USER
                password Maven_DEPLOY_PASSWORD
            }
        }
    }
}

执行命令gradle publishMavenPublicationToMavenRepository

服务器资源储存路径

JAVA开发者从仓库拉取构件

在线查询

访问nexus3网站,查询目标内容:

点击此项进入,只有Maven引入方案,对于Gradle用户很不友好,目前没找到解决方案。

因为是私服,通常用于发布内部构件。因此就日常 检索 开源jar包来说,依旧使用Maven官网。

在Gradle项目中引入

repositories {
    //其他仓库地址无需再声明,因为如下public仓库已集成。
    //同样,如下地址可以配置到gradle.properties
    Maven{ url 'http://192.168.3.88:9001/nexus3/repository/Maven-public/'}
}
//从私服上拿到构件的声明
//在拉取这个构件的同时,会将它需要的依赖一并加载!(见图3)
compile group: 'com.shar', name: 'commondao', version: '1.0.0'


转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:java开发者对接私服

字数:725

本文作者:夏来风

发布时间:2019-08-25, 22:08:36

原始链接:http://www.demo1024.com/blog/nexus3-javacoder/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。