当前位置:首页 > 科技  > 软件

还不会自己搭建Maven私服——Nexus3?快来学习一下吧!

来源: 责编: 时间:2023-11-02 17:14:19 251观看
导读一、前言我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。maven出现之后,又迎来新的问题,对于仓库里人家发布的都可以引用下载,但是公司自己内部写的jar

WJc28资讯网——每日最新资讯28at.com

一、前言

我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。WJc28资讯网——每日最新资讯28at.com

maven出现之后,又迎来新的问题,对于仓库里人家发布的都可以引用下载,但是公司自己内部写的jar包,不想让外人看到,自己公司来回粘贴复制,非常的繁琐,版本维护起来也是十分头疼!WJc28资讯网——每日最新资讯28at.com

这时Nexus Repository出现了,现在主流的还是nexus3,所以今天小编带大家一起搭建使用一下。当然公司也必须有一个自己的私服,来存放公司的技术沉淀,提高开发效率!WJc28资讯网——每日最新资讯28at.com

网上教程看了很多,但是基本都是教怎么上传到私服,从私服拉取依赖就没有写!WJc28资讯网——每日最新资讯28at.com

二、介绍

官网地址:https://help.sonatype.com/repomanager3/product-informationWJc28资讯网——每日最新资讯28at.com

nexus3是一种特殊的远程仓库,一般部署在公司服务器或者局域网内的仓库服务,私服代理广域网上的远程仓库,供公司的Maven用户使用。WJc28资讯网——每日最新资讯28at.com

当Maven依赖需要依赖的时候,它从私服请求,如果私服上不存在依赖,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。WJc28资讯网——每日最新资讯28at.com

我们还可以把一些无法从外部仓库下载到的构件上传到私服上。WJc28资讯网——每日最新资讯28at.com

总的准则:「无论私服有没有,我们本地都是使用私服提供的!」WJc28资讯网——每日最新资讯28at.com

三、优点

  • 引入速度提高
  • 加速Maven构建
  • 方便管理
  • 稳定性高
  • 降低中央仓库的负荷
  • 隐私性高

四、docker构建运行

1、创建挂载目录

mkdir /mydata/nexus/nexus-data -p

给权限:WJc28资讯网——每日最新资讯28at.com

chmod 777 /mydata/nexus/nexus-data/

2、启动nexus

docker run -d -p 8081:8081 --name nexus -v /mydata/nexus/nexus-data:/nexus-data sonatype/nexus3

3、获取密码

我们看到密码可以在容器内获取:WJc28资讯网——每日最新资讯28at.com

默认用户是,唯一生成的密码可以在卷内的文件中找到。有关卷的信息,请参阅持久数据。admin admin.passwordWJc28资讯网——每日最新资讯28at.com

「由于我们挂载了数据文件,主要在宿主机上查看即可!」WJc28资讯网——每日最新资讯28at.com

切换到目录:WJc28资讯网——每日最新资讯28at.com

cd /mydata/nexus/nexus-data/

查看密码:WJc28资讯网——每日最新资讯28at.com

cat admin.password

密码:206d5b6b-cc58-403f-af03-e5c8772a803a。WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

3、访问页面

ip+端口访问:http://192.168.239.132:8081/。WJc28资讯网——每日最新资讯28at.com

4、登录

用户:admin 密码:挂载目录下的admin.password文件内WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

五、nexus配置和解释

1、继续初始化

WJc28资讯网——每日最新资讯28at.com

2、编写新密码

WJc28资讯网——每日最新资讯28at.com

3、配置匿名访问

由于匿名访问有安全性问题,在公司还是禁用为好!WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

4、完成

WJc28资讯网——每日最新资讯28at.com

5、仓库名称类型

WJc28资讯网——每日最新资讯28at.com

我们可以看到有三种类型:WJc28资讯网——每日最新资讯28at.com

仓库类型
WJc28资讯网——每日最新资讯28at.com

说明
WJc28资讯网——每日最新资讯28at.com

proxy
WJc28资讯网——每日最新资讯28at.com

代理到远程仓库,默认国外,可以修改为国内阿里云代理
WJc28资讯网——每日最新资讯28at.com

group
WJc28资讯网——每日最新资讯28at.com

存放:通过 Nexus 获取的第三方 jar 包
WJc28资讯网——每日最新资讯28at.com

hosted
WJc28资讯网——每日最新资讯28at.com

存放:本团队其他开发人员部署到 Nexus 的 jar 包
WJc28资讯网——每日最新资讯28at.com

还有一些仓库名称:WJc28资讯网——每日最新资讯28at.com

仓库名称
WJc28资讯网——每日最新资讯28at.com

说明
WJc28资讯网——每日最新资讯28at.com

maven-central
WJc28资讯网——每日最新资讯28at.com

Nexus 对 Maven 中央仓库的代理
WJc28资讯网——每日最新资讯28at.com

maven-public
WJc28资讯网——每日最新资讯28at.com

Nexus 默认创建,供开发人员下载使用的组仓库
WJc28资讯网——每日最新资讯28at.com

maven-releasse
WJc28资讯网——每日最新资讯28at.com

Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 releasse 版本(生产版本)
WJc28资讯网——每日最新资讯28at.com

maven-snapshots
WJc28资讯网——每日最新资讯28at.com

Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 snapshots 版本(测试版本)
WJc28资讯网——每日最新资讯28at.com

6、调整代理地址

点击maven-central进入详情:WJc28资讯网——每日最新资讯28at.com

把代理地址换为阿里云的:https://maven.aliyun.com/repository/public。WJc28资讯网——每日最新资讯28at.com

往下滑到最后点击保存!WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

7、新建用户和仓库

关于很多教程都是新建用户和仓库,小编这里就使用admin和自带的仓库了!一般的小公司够了,公司有一定规模在新建吧!!WJc28资讯网——每日最新资讯28at.com

六、settings.xml配置

1、配置maven上传信息

我们打开本地的settings.xml文件,把私服的地址和用户配置上去!WJc28资讯网——每日最新资讯28at.com

<servers>  <server>    <id>maven-public</id>    <username>admin</username>    <password>123456</password>  </server>  <server>    <id>maven-snapshots</id>    <username>admin</username>    <password>123456</password>  </server>  <server>    <id>maven-releases</id>    <username>admin</username>    <password>123456</password>  </server></servers>

2、配置从私服下载

<profiles>    <profile>        <id>nexus-own</id>        <!-- 远程仓库列表 -->        <repositories>            <repository>                <id>maven-public</id>                <name>Nexus Central</name>                <!-- 虚拟的URL形式,指向镜像的URL-->                <url>http://192.168.239.132:8081/repository/maven-public/</url>                <layout>default</layout>                <!-- 表示可以从这个仓库下载releases版本的构件-->                <releases>                    <enabled>true</enabled>                </releases>                <snapshots>                    <enabled>false</enabled>                    <updatePolicy>always</updatePolicy>                </snapshots>            </repository>            <repository>                <id>maven-snapshots</id>                <name>Nexus Central</name>                <!-- 虚拟的URL形式,指向镜像的URL-->                <url>http://192.168.239.132:8081/repository/maven-snapshots/</url>                <layout>default</layout>                <!-- 表示可以从这个仓库下载snapshot版本的构件 -->                <releases>                    <enabled>false</enabled>                </releases>                <snapshots>                    <enabled>true</enabled>                    <updatePolicy>always</updatePolicy>                </snapshots>            </repository>        </repositories>        <pluginRepositories>            <pluginRepository>                <id>maven-public</id>                <name>Nexus Central</name>                <url>http://192.168.239.132:8081/repository/maven-public/</url>                <releases>                    <enabled>true</enabled>                </releases>                <snapshots>                    <enabled>false</enabled>                </snapshots>            </pluginRepository>        </pluginRepositories>    </profile></profiles><activeProfiles>    <!--需要激活 <profile>中的ID才生效-->    <activeProfile>nexus-own</activeProfile></activeProfiles>

七、springboot项目配置

1、父项目pom文件

<build>        <pluginManagement>            <plugins>                <plugin>                    <groupId>org.springframework.boot</groupId>                    <artifactId>spring-boot-maven-plugin</artifactId>                    <configuration>                        <layers>                            <enabled>true</enabled>                        </layers>                    </configuration>                    <executions>                        <execution>                            <goals>                                <goal>repackage</goal>                            </goals>                        </execution>                    </executions>                </plugin>            </plugins>        </pluginManagement>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <version>3.10.1</version>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                    <encoding>UTF-8</encoding>                    <parameters>true</parameters>                </configuration>            </plugin>        </plugins>    </build>    <!--打包上传maven私服-->    <distributionManagement>        <repository>            <!--id的名字可以任意取,但是在setting文件中的属性<server>的ID与这里一致-->            <id>maven-releases</id>            <!--指向仓库类型为host(宿主仓库)的储存类型为Release的仓库-->            <url>http://192.168.239.132:8081/repository/maven-releases/</url>        </repository>        <snapshotRepository>            <id>maven-snapshots</id>            <url>http://192.168.239.132:8081/repository/maven-snapshots/</url>        </snapshotRepository>    </distributionManagement>

2、deploy上传私服

双击deploy,上传私服!WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

3、私服查看

WJc28资讯网——每日最新资讯28at.com

一共上传了两次,都在私服中存在!WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

4、私服依赖在本地引用

我们新建一个springboot项目,然后引入依赖:WJc28资讯网——每日最新资讯28at.com

要勾选Projects下面的配置,不然无法引入依赖!WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

5、测试使用

新项目可以使用依赖中的注解:WJc28资讯网——每日最新资讯28at.com

WJc28资讯网——每日最新资讯28at.com

八、总结

经过半天的测试加编写,终于完成,对于私服有了更深的认识!WJc28资讯网——每日最新资讯28at.com

私服是每个公司必须要有的,当然也是我们必须要掌握的,小编整理出来,方便大家学习!WJc28资讯网——每日最新资讯28at.com

优点前面都说了,这里就不多说了!WJc28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-16646-0.html还不会自己搭建Maven私服——Nexus3?快来学习一下吧!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 哥,我还是不懂 ThreadLocal

下一篇: 了不起的Unicode

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • iPhone卖不动了!苹果股价创年内最大日跌幅:市值一夜蒸发万亿元

    iPhone卖不动了!苹果股价创年内最大日跌幅:市值一夜蒸发万亿元

    8月5日消息,今天凌晨美股三大指数高开低走集体收跌,道指跌0.41%;纳指跌0.36%;标普500指数跌0.52%。热门科技股也都变化极大,其中苹果报181.99美元,跌4.8%,创
  • 从 Pulsar Client 的原理到它的监控面板

    从 Pulsar Client 的原理到它的监控面板

    背景前段时间业务团队偶尔会碰到一些 Pulsar 使用的问题,比如消息阻塞不消费了、生产者消息发送缓慢等各种问题。虽然我们有个监控页面可以根据 topic 维度查看他的发送状态,
  • 使用LLM插件从命令行访问Llama 2

    使用LLM插件从命令行访问Llama 2

    最近的一个大新闻是Meta AI推出了新的开源授权的大型语言模型Llama 2。这是一项非常重要的进展:Llama 2可免费用于研究和商业用途。(几小时前,swyy发现它已从LLaMA 2更名为Lla
  • 一文搞定Java NIO,以及各种奇葩流

    一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 2023年,我眼中的字节跳动

    2023年,我眼中的字节跳动

    此时此刻(2023年7月),字节跳动从未上市,也从未公布过任何官方的上市计划;但是这并不妨碍它成为中国最受关注的互联网公司之一。从2016-17年的抖音强势崛起,到2018年的&ldquo;头腾
  • 重估百度丨大模型,能撑起百度的“今天”吗?

    重估百度丨大模型,能撑起百度的“今天”吗?

    自象限原创 作者|程心 罗辑2023年之前,对于自己的&ldquo;今天&rdquo;,百度也很迷茫。&ldquo;新业务到 2022 年底还是 0,希望 2023 年出来一个 1。&rdquo;这是2022年底,李彦宏
  • OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    【Techweb评测】中端机型用户群体巨大,占了中国目前手机市场的大头,一直以来都是各手机品牌的“必争之地”,其中OPPO K系列机型一直以来都以高品质、
  • 世界人工智能大会国际日开幕式活动在世博展览馆开启

    世界人工智能大会国际日开幕式活动在世博展览馆开启

    30日上午,世界人工智能大会国际日开幕式活动在世博展览馆开启,聚集国际城市代表、重量级院士专家、国际创新企业代表,共同打造人工智能交流平台。上海市副市
Top
Baidu
map