maven仓库--私服(Nexus的配置使用)

来源:互联网 发布:淘宝开店怎么找货源 编辑:程序博客网 时间:2024/06/05 06:42

私服是什么

私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://www.sonatype.org/nexus/go,也可以点击这里下载。

安装Nexus

把下载下来的Nexus.war放到tomcat的webapps目录下,然后重启tomcat即可,在浏览器中输入:http://ip:port/nexus 能打开下面界面说明安装成功。我的nexus安装路径为:http://192.168.145.89:8080/nexus
nexus首页

说明:nexus登录的默认登录用户名为admin,密码为:admin123,点击右上角即可登录,该用户名密码在后面配置maven的setting.xml会用到

常用功能

Nexus常用功能就是:指定私服的中央地址、将自己的Maven项目指定到私服地址、从私服下载中央库的项目索引、从私服仓库下载依赖组件、将第三方项目jar上传到私服供其他项目组使用。
最频繁的就是点击左侧菜单栏的Repositories按钮。
这里写图片描述
一般用到的仓库种类是hosted、proxy。Hosted代表宿主仓库,用来发布一些第三方不允许的组件,比如Oracle驱动、比如商业软件jar包。Proxy代表代理远程的仓库,最典型的就是Maven官方中央仓库、JBoss仓库等等。如果构建的Maven项目本地仓库没有依赖包,那么就会去这个代理站点去下载,那么如果代理站点也没有此依赖包,就回去远程中央仓库下载依赖,这些中央仓库就是proxy。代理站点下载成功后再下载至本机。

hosted 类型的仓库,内部项目的发布仓库

releases 内部的模块中release模块的发布仓库

snapshots 发布内部的SNAPSHOT模块的仓库

3rd party 第三方依赖的仓库,这个数据通常是由内部人员自行下载之后发布上去

proxy 类型的仓库,从远程中央仓库中寻找数据的仓库

group 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库

私服上传jar文件

登录nexus,点击3rd party,点击Artifact Upload tab标签,选择本地的jar包上传。
这里写图片描述

下载maven插件

点击下载maven,解压的目录如下
这里写图片描述
maven的配置文件在conf目录下的setting.xml,maven的环境变量配置自行百度。

Eclipse关联maven配置文件

打开Eclipse,选择Window->Preferences,打开如下界面,并做如下操作:
这里写图片描述

点击 User Settigs 关联maven的settings.xml配置文件

这里写图片描述

修改settings文件

修改maven的settings文件关联并关联到nexus,这样创建maven工程的时候,就可以把jar包deploy到nexus上,并从nexus上下载jar包。

上传私服配置

settings.xml做如下配置:
这里写图片描述

pom文件中copy如下代码

<distributionManagement>          <repository>              <id>deploymentRepo</id>              <name>User Project Release</name>              <url>http://192.168.145.89:8080/nexus/content/repositories/releases/</url>          </repository>          <snapshotRepository>              <id>deploymentRepo</id>              <name>User Project SNAPSHOTS</name>              <url>http://192.168.145.89:8080/nexus/content/repositories/snapshots/</url>          </snapshotRepository>      </distributionManagement>  

新建一个maven工程,输入clean deploy命令,即可把该jar包发布到nexus服务器上。
这里写图片描述

下载私服配置

setting.xml配置
这里写图片描述

这里写图片描述
pom文件配置

<repositories>        <repository>            <id>central</id>            <name>central</name>            <url>http://192.168.145.89:8080/nexus/content/groups/public</url>            <releases>                <enabled>true</enabled>            </releases>            <snapshots>                <enabled>true</enabled>            </snapshots>        </repository>    </repositories>

添加如下坐标即可引用私服上的jar包

<dependency>            <groupId>com.nexus</groupId>            <artifactId>nexustest01</artifactId>            <version>0.0.1-SNAPSHOT</version>        </dependency>

clean一下工程即可引用到该jar包

原创粉丝点击