windows搭建
下载:https://pan.baidu.com/s/1oDFLUxtsInB1iEZHSUtcIw 提取码:6666
官网:https://link.juejin.cn/?target=https%3A%2F%2Fwww.sonatype.com%2Fproducts%2Frepository-oss-download
解压后
最好把环境配置上
运行
#进入目录
E:\maven-nexus\nexus-3.20.1-01\bin
#使用指令
nexus.exe /run nexus
BashCopy
第一次会提示你密码在哪里,默认账号为admin
如想修改端口可在这里修改
私服的使用
Repositories
hosted:本地仓库(也叫宿主仓库),通常我们会部署自己的构件到这一类型的仓库或者是第三方的包(如:oracel的)。
proxy:代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。
group:仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组
maven-central:maven中央库,默认从repo1.maven.org/maven2/拉取ja…
maven-releases:私库发行版jar
maven-snapshots:私库快照(调试版本)jar
maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
Hosted是宿主机的意思,有三种方式:Releases、Snapshot、Mixed
Releases: 一般是已经发布的Jar包 Snapshot: 未发布的版本 Mixed:混合的
proxy就是代理的意思,代理中央Maven仓库,当PC访问中央库的时候,先通过Proxy下载到Nexus仓库,然后再从Nexus仓库下载到PC本地。这样的优势只要其中一个人从中央库下来了,以后大家都是从Nexus私服上进行下来,私服一般部署在内网,这样大大节约的宽带。
Name:就是为代理起个名字 Remote Storage: 代理的地址,Maven的地址为: repo1.maven.org/maven2/ Blob Store: 选择代理下载包的存放路径
配置
https://maven.aliyun.com/repository/public
BashCopy
配置本地maven的settings.xml
<mirror><id>maven-public</id><mirrorOf>*</mirrorOf><url>http://ip地址:8081/repository/maven-public</url></mirror>
XMLCopy
在本地使用指令测试下载
mvn dependency:get -DremoteRepositories=http://ip地址:8081/repository/maven-public -DgroupId=com.alibaba -DartifactId=druid-spring-boot-starter -Dversion=1.1.22 -X
BashCopy
如果下载能完成说明已经成功一半了。
添加华为云镜像
https://mirrors.huaweicloud.com/repository/maven
BashCopy
配置自己的仓库
仓库一
这个仓库放置一些稳定的jar例如:直接是版本号没有xxx-SNAPSHOT版本的jar
<!--例如这种--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-ui</artifactId><version>2.0.6</version></dependency>
XMLCopy
仓库二
这个仓库放置一些不稳定的jar
<!--例如这种--><dependency><groupId>com.arpa</groupId><artifactId>ntocc-common</artifactId><version>1.0-SNAPSHOT</version></dependency>
XMLCopy
最重要的一步
作用:放置到同一个组中,在寻找jar时直接到maven-public里去找,没有找到他会自动取我们自己的仓库找。
使用自己的仓库
在自己的maven的settings.xml配置
<server>
<id>xxx-snapshot</id>
<username>admin</username>
<password>自己的密码</password>
</server><server><id>xxx-release</id>
<username>admin</username>
<password>自己的密码</password>
</server>
XMLCopy
Linux使用docker 搭建
docker pull sonatype/nexus3
JavaCopy
启动
注:将容器内部/var/nexus-data挂载到主机/root/nexus-data目录(8081:8081是Linux与Docker的端口映射)
docker run -d-p8081:8081--name nexus -v /root/nexus-data:/var/nexus-data --restart=always sonatype/nexus3
BashCopy
记得开启对应的端口
# 查看firewall服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务#开启
systemctl start firewalld.service
#重启
systemctl restart firewalld
#关闭
systemctl stop firewalld.service
#重新加载配置
firewall-cmd --reload#查看防火墙规则
firewall-cmd --list-all #查看所有信息
firewall-cmd --list-ports #只看端口信息
firewall-cmd --permanent--zone=public --add-port=80/tcp #开启端口
systemctl restart firewalld.service #重启防火墙#指令含义:--zone#作用域
--add-port=80/tcp #添加端口,格式:端口/通讯协议--permanent#永久
BashCopy
接下来的操作和window一样
#找密码#输入:(找到密码文件)find / -name'admin.password'#复制路径使用cat指令查看密码cat 输入上面查找的文件位置获取密码
BashCopy
私服的使用
上传以存在的jar到私服
使用cmd
mvn deploy:deploy-file -Dfile=本地jar的路径 -DgroupId=你的jar包groupId -DartifactId=你的jar包名称 -Dversion=你的jar包版本号 -Dpackaging=jar -Durl=你的私服路径 -DrepositoryId=你的仓库ID
BashCopy
#例子
mvn deploy:deploy-file -Dfile=D:\new\libs\ntocc-common-1.0-SNAPSHOT.jar -DgroupId=com.arpa -DartifactId=ntocc-common -Dversion=1.0-SNAPSHOT -Dpackaging=jar -Durl=http://ip:8081/repository/chenggang-snapshot/ -DrepositoryId=chenggang-snapshot
BashCopy
使用前提时必须已经配置好了setting.xml中的server
注意:上面的-DrepositoryId和-Durl的设置必须要看你的java版本是否有 -SNAPSHOT的有就上传到xxx-snapshot这个仓库,另一个反而行之!
查看是否成功
pom.xml(java)使用私服
<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
<!--指定仓库地址 -->
<distributionManagement>
<repository>
<!--此名称要和.m2/settings.xml中设置的ID一致 -->
<id>maven-public</id>
<!--上传的位置-->
<url>http://ip:8081/repository/xxx-snapshot/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--发布代码Jar插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--发布源码插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
XMLCopy
或者在ider底下点击Terminai,输入:mvn deploy
配置jar重私服拉取
<repositories>
<repository>
<id>maven-publi</id>
<url>http://ip:8081/repository/xxx-snapshot/</url>
</repository>
</repositories>