1.使用Nexus搭建Maven私有服务器
在实际开发当中,有时候公司不提供外网给项目组人员,因此不能使用maven访问远程的仓库地址, 所以有必要在局域网里找一台有外网权限的机器,搭建nexus私服, 然后开发人员连接到这台私服上,这样可以通过这台搭建了nexus私服的电脑访问maven的远程仓库, 原理图如下:
2.环境搭建
1.首先确定我们的环境安装好maven,jdk等必须的环境
2.这些都准备好之后,去下载最新版本的nexus 下载地址:http://www.sonatype.org/nexus/go
我本地安装的是 nexus-2.2-01-bundle,最新的版本是nexus-2.4.0-09-bundle
3.打开目录nexus-2.4.0-09-bundle\nexus-2.4.0-09\bin\jsw 这个目录下面你会发现有很多系统版本的nexus环境
我的电脑是win7 (64)为的系统,所以我选择的是windows-x86-64这个版本,当然可以根据个人的电脑系统选择对应的版本
打开一个版本如下图所示:
点击install-nexus.bat,访问http://localhost:8081/nexus/ 启动后会看到:
在右上角点击log in 点击登录 用户名是admin,密码是admin123,可以看到左侧信息:
接下来我们配置一下maven的代理服务器,前提是你的电脑不能上网
右边很多选项,找到这里
这样代理服务器就添加好了
接下来我们看一下repositories:
我们用3rd party这个第三方功能,将maven仓库中没有构件的jar包上传到服务器
那么现在nexus已经安装好,怎么使用上传的jar包吧,很简单的,前提是你已经建立了一个maven的项目。含有pom.xml这个文件,在这个文件中添加如下:
先去服务器看看jar的maven构件
然后在pom.xml中添加如下的本地仓库地址:
<repositories>
<repository>
<id>nexus</id>
<name>Team Nexus Repository</name>
<url>http://localhost:8081/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Team Nexus Repository</name>
<url>http://localhost:8081/nexus/content/groups/public</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>10.1.0.2.0</version>
</dependency>
</dependencies>
至此完成了nexus私有服务器的搭建,项目组开发人员开发时,只要在项目的pom.xml文件中,添加如下pom.xml信息即可获取私服的jar.
如果添加其他的构件时,会先在nexus私服下载好,以后才会下载到本地。以后,如果发现私服已经存在某一jar包,则会直接从私服下载,如果没有再去网络上下载,这就是搭建私服的好处
在要上传的文件的目录中执行以下命令即可:
mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.5.4-SNAPSHOT -Dpackaging=jar -Dfile=dubbo-2.5.4-SNAPSHOT.jar -Durl=http://admin:admin123@localhost:8080/nexus/content/repositories/snapshots
Nexus仓库类型
hosted: 本地仓库,通常我们会部署自己的构件到这一类型的仓库, 比如公司的第二方库
proxy: 代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库
group: 仓库组,用来合并多个hosted/proxy仓库