docker搭建maven私服(nexus3),整合springboot上传下载依赖()

  本篇文章为你整理了docker搭建maven私服(nexus3),整合springboot上传下载依赖()的详细内容,包含有 docker搭建maven私服(nexus3),整合springboot上传下载依赖,希望能帮助你了解 docker搭建maven私服(nexus3),整合springboot上传下载依赖。

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

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

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

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

  本文从上传到拉去面面俱到,对你有帮助,一键三连哈!!

  官网地址

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

  当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. 仓库名称类型

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

  
maven-releasse

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

  
maven-snapshots

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

  
往下滑到最后点击保存!

  7. 新建用户和仓库

  关于很多教程都是新建用户和仓库,小编这里就使用admin和自带的仓库了!
 

  一般的小公司够了,公司有一定规模在新建吧!!

  六、settings.xml配置

  1. 配置maven上传信息

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

  

 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,上传私服!
 

  3. 私服查看

  
 

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

  4. 私服依赖在本地引用

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

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

  5. 测试使用

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

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

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

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

  前人种树后人乘凉嘛,对你有帮助,还请不要吝啬你的发财小手点点关注哈!

  关注小编的微信公众号,一起交流学习!文章首发看哦!

  以上就是docker搭建maven私服(nexus3),整合springboot上传下载依赖()的详细内容,想要了解更多 docker搭建maven私服(nexus3),整合springboot上传下载依赖的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: