nexus搭建公司私有maven仓库
一,素质三连
//下载 wget https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.11.2-03-bundle.tar.gz //解压 tar -zxvf nexus-2.11.2-03-bundle.tar.gz //貌似这次没有三连了
解压后会有出现两个文件
第一个为: 是nexus的核心文件
第二个为:maven下载jar存放地址
修改启动用户,虽然nexus不建议使用root启动
vi bin/nexus --------添加下列 RUN_AS_USER=ROOT
修改端口(可选,默认8081)
vim /usr/local/nexus/nexus-2.11.2-03/conf/nexus.properties
启动:
nexus start
访问测试:
ip:8081/nexus
默认登录账号/密码为: admin/admin123
二:本地配置使用
1.配置本地项目引用私服
自动发布构件到远程仓库,在工程pom.xml中添加 :
<distributionManagement> <repository> <id>releases</id><!--这个ID需要与你的release仓库的Repository ID一致--> <url>http://192.168.1.99:8081/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id><!--这个ID需要与你的snapshots仓库的Repository ID一致--> <url>http://192.168.1.99:8081/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>
修改本地conf目录下的settings.xml配置文件,添加如下配置
<servers> <server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers>
在本地工程目录下执行:
mvn deploy
2.配置Maven从Nexus下载构件
在POM中配置Nexus私服,这样的配置只对当前的Maven项目有效。
<!--指定Nexus的构件仓库--> <repositories> <repository> <id>public</id> <name>Team Maven Repository</name> <url>http://192.168.1.99: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.99:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
也可以在本机中配置
在settings.xml中配置profile元素,这样就能让本机所有的Maven项目都使用自己的Maven私服。
<properties> <repository> <id>public</id> <name>Team Maven Repository</name> <url>http://192.168.1.99:8081/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <layout>default</layout> <snapshots> <enabled>true</enabled> </snapshots> </repository> </properties>