从永远到永远-Maven系统学习(九)-使用Docker在Linux系统搭建Nexus

参考文章,并对有问题部分进行了更正。

参考地址

1.安装

1.进入自己指定存放目录

cd /usr/local/src

2.创建个文件夹

mkdir nexus

3.赋予权限,不然启动会报错,无操作权限

chmod 777 nexus

4.启动镜像

docker run -d -p 8081:8081 --name nexus -v /usr/local/src/nexus:/nexus --restart=always sonatype/nexus3

通过docker logs -f nexus查看启动日志,当出现Started Sonatype Nexus OSS说明启动成功

5.访问

这时通过http://ip:8081即可访问
访问不通的话,多半是没开端口,操作防火墙开下端口。

1.查看防火墙

systemctl status firewalld.service

2.开放端口

firewall-cmd --zone=public --add-port=8081/udp --permanen

3.查看开放的端口

firewall-cmd --zone=public --list-ports

查不到的话,重启下一般就好了

service firewalld restart

6.登录

点击右上角Sign in进行登录,账号为admin,密码需要去镜像中查看,如下:

# 进入镜像
docker exec -it nexus /bin/bash
# 查看密码,路径在登录框会提示,然后复制即可,登录成功后会让你修改密码
cat /nexus-data/admin.password

7.注意事项

  1. 防火墙端口要开
  2. 感觉挺吃内存,开始给了2G不够用,后来追加到了4G。如果什么操作都对,尝试调整下内存。
  3. nexus基于java,需要安装JDK。
  4. Linux、docker、jdk安装可在之前文章参考

2.使用

1.初始化设置

登陆后修改原始密码,关闭匿名访问
在这里插入图片描述

2.仓库

仓库类型说明
proxy某个远程仓库的代理
group存放:通过 Nexus 获取的第三方 jar 包
hosted存放:本团队其他开发人员部署到 Nexus 的 jar 包
仓库名称说明
maven-centralNexus 对 Maven 中央仓库的代理
maven-publicNexus 默认创建,供开发人员下载使用的组仓库
maven-releasseNexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 releasse 版本
maven-snapshotsNexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 snapshots 版本

2.5.修改仓库配置

修改 maven-central 仓库代理的远程库地址
在这里插入图片描述

3.maven配置

1.配置mirror

<mirror>
		<id>nexus-epo</id>
		<mirrorOf>central</mirrorOf>
		<name>Nexus epo</name>
		<url>http://192.168.1.188:8081/repository/maven-public/</url>
	</mirror>

2.配置server

如果开启了匿名访问,server标签可以不配置

<server>
		<id>nexus-epo</id>
		<username>admin</username>
		<password>xxxxxx</password>
	</server>

3.执行下载

执行前,远程仓库及本地仓库(新建的文件夹)都是空的
在这里插入图片描述
找一个maven项目,执行编译命令后,远程仓库及本地仓库已经有了jar包
新版本的idea在修改了settings文件的本地仓库后会自动更新,老版本貌似不行。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.上传本地jar包(Maven项目)

1.pom配置

<distributionManagement>
        <snapshotRepository>
            <id>nexus-epo</id>
            <name>Nexus Snapshot</name>
            <url>http://192.168.1.188:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

id要与settings中配置的一致

2.部署

部署前,可以考到maven-snapshot中没有任何jar包
在这里插入图片描述
执行

mvn clean deploy

执行后,发现jar包已经上传
在这里插入图片描述

5.使用别人上传到私服的jar包

默认访问的 Nexus 仓库:maven-public,需要单独配置下仓库

1.配置pom

<repositories>
        <repository>
            <id>nexus-epo</id>
            <name>nexus-epo</name>
            <url>http://192.168.1.188:8081/repository/maven-snapshots/</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
            <releases>
                <enabled>true</enabled>
            </releases>
        </repository>
    </repositories>

同时删除本地仓库中安装的jar
在这里插入图片描述
在pom中引入上传到私服中的jar包的坐标

<dependencies>
        <dependency>
            <groupId>com.epo</groupId>
            <artifactId>ccore-sample</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

导包后发现,坐标正常颜色,本地库下载了jar包,且供能可执行。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.非maven项目上传maven私服

参考: 参考1
参考: 参考2

1.包装成maven工程

  1. idea中右键项目,创建pom.xml,根据项目实际情况填入一下内容
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.epo</groupId>
    <artifactId>sample</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>sample</name>
    <description>样例</description>
</project>
  1. 右键pom.xml,Add As Maven Project在这里插入图片描述

  2. 本项目依赖jar包,写到pom文件

2.配置setting.xml文件

<servers>	
		<!-- 20220606 nexus test-->
		<!-- 发布私服账号密码验证 -->
		<server>
			<id>sample-releases</id><!--随便写,但要对应项目pom文件中一致-->
			<username>admin</username>
			<password>admin</password>
		</server>	
		<server>
			<id>sample-snapshots</id><!--随便写,但要对应项目pom文件中一致-->
			<username>admin</username>
			<password>admin</password>
		</server>

  </servers>
  ...
  <!-- 自己配置的相关私服地址 -->
  <mirrors>
	<mirror>
        <id>epo-sample</id>
        <name>epo-sample</name>
        <url>http://192.168.0.110:8081/repository/epo-sample/</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

3.配置pom文件

1.右键创建pom.xml

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值