Linux 使用nexus搭建maven私服
一、准备工作
二、安装Nexus
1.解压nexus文件
|
1
|
[root@centos6 var]# tar -zvxf nexus-2.12.0-01-bundle.tar.gz |

nexus-2.12.0-01: 是nexus的核心文件
sonatype-work :maven下载jar存放地址
2.启动Nexus
|
1
2
3
4
5
6
|
[root@centos6 nexus-2.12.0-01]# ./bin/nexus start- ****************************************WARNING - NOT RECOMMENDED TO RUN AS ROOT****************************************If you insist running as root, then set the environment variable RUN_AS_USER=root before running this script. |
默认情况下,不建议以root用户运行Nexus,可以修改bin/nexus中的配置跳过警告(修改RUN_AS_USER=root)
|
1
|
[root@centos6 nexus-2.12.0-01]# vi bin/nexus |

重新启动Nexus
|
1
2
3
4
5
6
7
|
[root@centos6 nexus-2.12.0-01]# ./bin/nexus start- ****************************************WARNING - NOT RECOMMENDED TO RUN AS ROOT****************************************Starting Nexus OSS...Started Nexus OSS. |
注:Nexus默认端口8081,如果想修改端口。修改/conf/nexus.properties文件

访问网址:http://192.168.1.11:8081/nexus/#welcome

点击右上角的 Log In 按钮即可登陆了。默认登录账号/密码为: admin/admin123 ,登陆成功后的界面

点击Repositories,将列表中所有Type为proxy 的项目的 Configuration 中的 Download Remote Indexes 设置为True

将Releases仓库的Deployment Policy设置为 Allow ReDeploy


填写完必选字段,点击Upload Artifact(s)按钮即可。
3.配置本地项目引用私服
自动发布构件到远程仓库,在工程pom.xml中添加
|
1
2
3
4
5
6
7
8
9
10
|
<distributionManagement> <repository> <id>releases</id><!--这个ID需要与你的release仓库的Repository ID一致--> <url>http://192.168.1.11:8081/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id><!--这个ID需要与你的snapshots仓库的Repository ID一致--> <url>http://192.168.1.11:8081/nexus/content/repositories/snapshots</url> </snapshotRepository></distributionManagement> |
修改本地$MAVEN_HOME\conf目录下的settings.xml配置文件,添加如下配置
|
1
2
3
4
5
6
7
8
9
10
11
12
|
<servers> <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server></servers> |
在本地工程目录下执行:
|
1
|
mvn deploy |
所部署的包就自动上传到了nexus安装目录下的

4.配置Maven从Nexus下载构件
在POM中配置Nexus私服,这样的配置只对当前的Maven项目有效。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<!--指定Nexus的构件仓库--><repositories> <repository> <id>public</id> <name>Team Maven Repository</name> <url>http://192.168.1.11:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository></repositories><!--指定Nexus的插件仓库--><pluginRepositories> <pluginRepository> <id>public</id> <name>Team Maven Repository</name> <url>http://192.168.1.11:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository></pluginRepositories> |
在settings.xml中配置profile元素,这样就能让本机所有的Maven项目都使用自己的Maven私服。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<properties> <repository> <id>public</id> <name>Team Maven Repository</name> <url>http://192.168.1.11:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <layout>default</layout> <snapshots> <enabled>true</enabled> </snapshots> </repository><br></properties> |

浙公网安备 33010602011771号