文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-11-30 05:53

关注

一、前言

我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。

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

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

网上教程看了很多,但是基本都是教怎么上传到私服,从私服拉取依赖就没有写!

二、介绍

官网地址:https://help.sonatype.com/repomanager3/product-information

nexus3是一种特殊的远程仓库,一般部署在公司服务器或者局域网内的仓库服务,私服代理广域网上的远程仓库,供公司的Maven用户使用。

当Maven依赖需要依赖的时候,它从私服请求,如果私服上不存在依赖,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。

我们还可以把一些无法从外部仓库下载到的构件上传到私服上。

总的准则:「无论私服有没有,我们本地都是使用私服提供的!」

三、优点

四、docker构建运行

1、创建挂载目录

mkdir /mydata/nexus/nexus-data -p

给权限:

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、获取密码

我们看到密码可以在容器内获取:

默认用户是,唯一生成的密码可以在卷内的文件中找到。有关卷的信息,请参阅持久数据。admin admin.password

「由于我们挂载了数据文件,主要在宿主机上查看即可!」

切换到目录:

cd /mydata/nexus/nexus-data/

查看密码:

cat admin.password

密码:206d5b6b-cc58-403f-af03-e5c8772a803a。

3、访问页面

ip+端口访问:http://192.168.239.132:8081/。

4、登录

用户:admin 密码:挂载目录下的admin.password文件内

五、nexus配置和解释

1、继续初始化

2、编写新密码

3、配置匿名访问

由于匿名访问有安全性问题,在公司还是禁用为好!

4、完成

5、仓库名称类型

我们可以看到有三种类型:

仓库类型

说明

proxy

代理到远程仓库,默认国外,可以修改为国内阿里云代理

group

存放:通过 Nexus 获取的第三方 jar 包

hosted

存放:本团队其他开发人员部署到 Nexus 的 jar 包

还有一些仓库名称:

仓库名称

说明

maven-central

Nexus 对 Maven 中央仓库的代理

maven-public

Nexus 默认创建,供开发人员下载使用的组仓库

maven-releasse

Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 releasse 版本(生产版本)

maven-snapshots

Nexus 默认创建,供开发人员部署自己 jar 包的宿主仓库要求 snapshots 版本(测试版本)

6、调整代理地址

点击maven-central进入详情:

把代理地址换为阿里云的:https://maven.aliyun.com/repository/public。

往下滑到最后点击保存!

7、新建用户和仓库

关于很多教程都是新建用户和仓库,小编这里就使用admin和自带的仓库了!一般的小公司够了,公司有一定规模在新建吧!!

六、settings.xml配置

1、配置maven上传信息

我们打开本地的settings.xml文件,把私服的地址和用户配置上去!


  
    maven-public
    admin
    123456
  
  
    maven-snapshots
    admin
    123456
  
  
    maven-releases
    admin
    123456
  

2、配置从私服下载


    
        nexus-own
        
        
            
                maven-public
                Nexus Central
                
                http://192.168.239.132:8081/repository/maven-public/
                default
                
                
                    true
                
                
                    false
                    always
                
            
            
                maven-snapshots
                Nexus Central
                
                http://192.168.239.132:8081/repository/maven-snapshots/
                default
                
                
                    false
                
                
                    true
                    always
                
            
        
        
            
                maven-public
                Nexus Central
                http://192.168.239.132:8081/repository/maven-public/
                
                    true
                
                
                    false
                
            
        
    


    
    nexus-own

七、springboot项目配置

1、父项目pom文件


        
            
                
                    org.springframework.boot
                    spring-boot-maven-plugin
                    
                        
                            true
                        
                    
                    
                        
                            
                                repackage
                            
                        
                    
                
            
        
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.10.1
                
                    1.8
                    1.8
                    UTF-8
                    true
                
            
        
    
    
    
        
            
            maven-releases
            
            http://192.168.239.132:8081/repository/maven-releases/
        
        
            maven-snapshots
            http://192.168.239.132:8081/repository/maven-snapshots/
        
    

2、deploy上传私服

双击deploy,上传私服!

3、私服查看

一共上传了两次,都在私服中存在!

4、私服依赖在本地引用

我们新建一个springboot项目,然后引入依赖:

要勾选Projects下面的配置,不然无法引入依赖!

5、测试使用

新项目可以使用依赖中的注解:

八、总结

经过半天的测试加编写,终于完成,对于私服有了更深的认识!

私服是每个公司必须要有的,当然也是我们必须要掌握的,小编整理出来,方便大家学习!

优点前面都说了,这里就不多说了!

来源:小王博客基地内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯