Maven私服 Nexus的搭建

背景:

私服:私有服务器,是公司内部Maven项目经常用到的私有仓库。Nexus就是一款常用的私用Maven服务器,一般是公司内部使用。

下载地址是:http://www.sonatype.org/nexus/go    默认本地地址: http://localhost:8081/nexus/

默认登录账号:admin/admin123  登录后为安全起见,可自行修改帐号。目前选择版本:nexus-2.8.0-05。

作用:

Nexus常用功能:指定私服的*地址、将自己的Maven项目指定到私服地址、从私服下载*库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。

本地开启Nexus服务后访问url地址http://localhost:8081/nexus/,登录后就可以访问Nexus了。

一般用户访问最为频繁的就是左侧菜单栏的Repositories菜单了。

Maven私服 Nexus的搭建

一般用到的仓库种类是hosted、proxy。

hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如oracle驱动、比如商业软件jar包等。

proxy代表代理远程的仓库,最典型的就是Maven官方*仓库、JBoss仓库等等。

如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就会去远程仓库下载依赖,这些远程仓库就是proxy。

仓库类型:

hosted    内部项目的发布仓库
releases    内部的模块中release模块的发布仓库
snapshots    内部的模块中snapshots模块的发布仓库
3rd party    第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去
proxy    从远程*仓库中寻找数据的仓库
group    组仓库,用来方便我们开发人员进行设置的仓库

maven项目索引:
下载Maven项目索引,项目索引是为了使用者能够在私服站点查找依赖使用的功能

Maven私服 Nexus的搭建

保存后,后台会有一个下载任务,下载完成后,Maven索引就可以使用了,例如在搜索框中输入spring-core

Maven私服 Nexus的搭建

可以检索出它的相关信息,包括怎么配置依赖信息。我们要想使用这个私服仓库,先在项目pom中配置相关私服信息,如下指定私服仓库

<repositories>  
        <repository>  
            <id>nexus</id>  
            <name>nexus</name>  
            <url>http://192.168.1.211:8081/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>true</enabled>  
            </snapshots>  
        </repository>  
    </repositories>

指定插件仓库

<pluginRepositories>  
        <pluginRepository>  
            <id>nexus</id>  
            <name>nexus</name>  
            <url>http://192.168.1.211:8081/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>true</enabled>  
            </snapshots>  
        </pluginRepository>

</pluginRepositories>

pom文件配置完成后,当Maven项目构建的时候就会从私服上下载相关依赖。当然这个配置仅仅是在此项目中生效,对于其他项目还是不起作用。如果相对Maven的其他项目也生效的话。需要修改全局的settings.xml文件。
修改settings.xml为:

Maven私服 Nexus的搭建

**profile:

Maven私服 Nexus的搭建

之后所有本机的Maven项目就在私服下载组件。

项目发布到私服,要settings.xml中配置发布权限

Maven私服 Nexus的搭建

Maven私服 Nexus的搭建

然后在控制台运行 mvn clean deploy  命令,进行项目发布

在控制台发布成功
然后进入到私服上的仓库中,看一下确实存在刚刚发布的项目。

宿主库——3rd party
假如我们下载了mysql的驱动程序jar包想给其他项目组使用,就需要上传该jar包。选中宿主库——3rd party,填写好相应的GAV之后,最后在最下面,选择Artifact Upload上传至宿主空间

Maven私服 Nexus的搭建

显示上传成功

Maven私服 Nexus的搭建

随后在Browser Index选项卡中,点击刷新后,继可看到刚刚上传的mysql构件

Maven私服 Nexus的搭建

至此,Nexus搭建的整个过程就算完成了。

转载于:https://my.oschina.net/huoyun/blog/745319