maven搭建私服

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

访问:http://localhost:8081

第一次会提示你密码在哪里,默认账号为admin
如想修改端口可在这里修改
私服的使用

Repositories

  1. hosted:本地仓库(也叫宿主仓库),通常我们会部署自己的构件到这一类型的仓库或者是第三方的包(如:oracel的)。

  1. proxy:代理仓库,它们被用来代理远程的公共仓库,如maven中央仓库。

  1. group:仓库组,用来合并多个hosted/proxy仓库,通常我们配置maven依赖仓库组

  1. maven-central:maven中央库,默认从repo1.maven.org/maven2/拉取ja…

  1. maven-releases:私库发行版jar

  1. maven-snapshots:私库快照(调试版本)jar

  1. 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

访问http://ip:8081

接下来的操作和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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值