私服,私有服务器,是公司内部Maven项目经常需要的东东,不总结一下,不足以体现出重视。Nexus是常用的私用Maven服务器,一般是公司内部使用。下载地址是http://www.sonatype.org/nexus/go,也可以点击这里下载。
把下载下来的Nexus.war放到tomcat的webapps目录下,然后重启tomcat即可,在浏览器中输入:http://ip:port/nexus 能打开下面界面说明安装成功。我的nexus安装路径为:http://192.168.145.89:8080/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 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库
登录nexus,点击3rd party,点击Artifact Upload tab标签,选择本地的jar包上传。
点击下载maven,解压的目录如下 maven的配置文件在conf目录下的setting.xml,maven的环境变量配置自行百度。
打开Eclipse,选择Window->Preferences,打开如下界面,并做如下操作:
点击 User Settigs 关联maven的settings.xml配置文件
修改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包