centos安装nexus搭建mvn私服与配置

官网下载

wget http://tar.matosiki.site/tar/nexus-3.13.0-01.tar.gz

tar -vxzf nexus-3.13.0-01.tar.gz

mv nexus-3.13.0-01 /opt/

mv nexus-3.13.0-01 nexus

# 运行前更改端口和启动路径

vim /opt/nexus/etc/nexus-default.properties
application-port=5566
application-host=0.0.0.0
nexus-context-path=/nexus

# 运行 首次启动用run命令 之后使用start

./opt/nexus/bin/nexus run

# 测试 默认用户名admin 密码admin123

curl localhost:5566

启动生成后默认会在opt目录下生成sonatype-work文件夹,进入文件夹配置nexus

# 运行后再更改配置方式  默认端口8081
# 简单配置nexus 更改端口
cd /opt/sonatype-work/nexus3/etc/
vim nexus.properties
application-port=5566
application-host=0.0.0.0
nexus-context-path=/nexus

将nexus作为服务

vi /etc/profile

export NEXUS_HOME="/opt/nexus"

source /etc/profile

# 添加nexus用户
groupadd nexus

useradd -g nexus nexus

chown -R nexus:nexus

vi /opt/nexus/bin/nexus.rc

run_as_user="nexus"

# 建立软连接
sudo ln -s $NEXUS_HOME/bin/nexus /etc/init.d/nexus

cd /etc/init.d
sudo chkconfig --add nexus
sudo chkconfig --levels 345 nexus on
sudo service nexus start

cd /etc/init.d
sudo update-rc.d nexus defaults
sudo service nexus start

sudo systemctl daemon-reload
sudo systemctl enable nexus.service
sudo systemctl start nexus.service

如果不能启动试试删除

rm -rf tmp/
rm -rf cache/

查看日志

tail -f /opt/sonatype-work/nexus3/log/nexus.log

setting.xml 文件配置

<settings>
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://localhost:8081/repository/maven-public/</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>

<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>

</settings>

pom.xml配置 以便发布jar到仓库

<distributionManagement>
<repository>
<id>nexus</id>
<name>Releases</name>
<url>http://{your-nexus-ip}/repository/maven-releases</url>
</repository>
<snapshotRepository>
<id>nexus</id>
<name>Snapshot</name>
<url>http://{your-nexus-ip}/repository/maven-snapshots</url>
</snapshotRepository>
</distributionManagement>

发布命令

mvn clean deploy

上传第三方jar包到nexus
发布不带pom文件的独立jar包:
-DrepositoryId的值即为在setttings.xml里面配置的server id。


mvn deploy:deploy-file -DgroupId=<group-id> \
-DartifactId=<artifact-id> \
-Dversion=<version> \
-Dpackaging=<type-of-packaging> \
-Dfile=<path-to-file> \
-DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
-Durl=<url-of-the-repository-to-deploy>

发布带有pom的jar包

mvn deploy:deploy-file -DpomFile=<path-to-pom> \
-Dfile=<path-to-file> \
-DrepositoryId=<id-to-map-on-server-section-of-settings.xml> \
-Durl=<url-of-the-repository-to-deploy>
本文总阅读量