【Java架构-包管理工具】-Maven私服搭建-Nexus(三)

这篇具有很好参考价值的文章主要介绍了【Java架构-包管理工具】-Maven私服搭建-Nexus(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文摘要

Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven私服搭建-Nexus



1. Nexus安装

使用Docker进行安装

  • 拉取镜像
    docker pull sonatype/nexus3
  • 启动镜像
    docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3

2. Nexus配置

# Jetty section
# 端口,可以修改
# application-port=8081
# application-host=0.0.0.0
# nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
# nexus-context-path=/${NEXUS_CONTEXT}

# Nexus section
# nexus-edition=nexus-pro-edition
# nexus-features=\
#  nexus-pro-feature
# nexus.clustered=false

3. Nexus仓库类型

【Java架构-包管理工具】-Maven私服搭建-Nexus(三),Java架构,java,架构,maven

  • hosted:表示用户自己上传的依赖将会上传至该仓库
  • proxy:表示代理远程仓库地址
  • group:用来组合hosted/proxy仓库,下载依赖将从该仓库下载

4.发布依赖

4.1 配置仓库用户名密码

setting.xml 文件中配置

<!-- 定义稳定版本的id名称,用户名密码 -->
<server>
  <id>releases</id>
  <username>admin</username>
  <password>admin123</password>
</server>
<!-- 定义开发版本的id名称,用户名密码 -->
<server>
  <id>snapshots</id>
  <username>admin</username>
  <password>admin123</password>
</server>

4.2 配置上传仓库地址

需要上传至径服所在项目pom.xml文件中配置

<distributionManagement>
  <repository>
    <id>releases</id>
    <url>http://nas:18081/repository/maven-releases/</url>
  </repository>
  <snapshotRepository>
    <id>snapshots</id>
    <url>http://nas:18081/repository/maven-snapshots/</url>
  </snapshotRepository>
</distributionManagement>

4.3 上传依赖

idea中点击deploy

【Java架构-包管理工具】-Maven私服搭建-Nexus(三),Java架构,java,架构,maven

4.4 查看Nexus仓库

【Java架构-包管理工具】-Maven私服搭建-Nexus(三),Java架构,java,架构,maven

4.5 下载依赖

4.5.1 setting.xml(mirror)配置

该配置方案存在问题:无法拉取SNAPSHOT依赖

<mirrors>
  <mirror>
    <!--    配置id  -->
    <id>nexus</id>
    <!--     配置拦截仓库,*表示拦截所有仓库拉取请求 -->
    <mirrorOf>*</mirrorOf>
    <name>nexus</name>
    <!--     配置仓库地址  -->
    <url>http://nas:18081/repository/maven-public/</url>
  </mirror>
</mirrors>

4.5.2 pom.xml(repositories)配置

该配置方案存在问题:该种方式只能针对某个项目下载依赖

<repositories>
  <repository>
    <id>nexus</id>
    <name>nexus</name>
    <url>http://nas:18081/repository/maven-public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>
<pluginRepositories>
  <pluginRepository>
    <id>public</id>
    <url>http://nas:18081/repository/maven-public/</url>
    <name>pluginRepositories</name>
  </pluginRepository>
</pluginRepositories>

4.5.3 settings.xml(profiles)配置

该种配置方式全局配置,可以根据需求选择配置方案,生产中选择该方式文章来源地址https://www.toymoban.com/news/detail-677395.html

<profiles>
  <!-- 下载jar包配置 -->
  <profile>
    <!--profile的id -->
    <id>dev</id>
    <repositories>
      <repository> <!--仓库id,repositories可以配置多个仓库,保证id不重复 -->
        <id>nexus</id> <!--仓库地址,即nexus仓库组的地址 -->
        <url>http://nas:18081/repository/maven-public/</url> <!--是否下载releases构件 -->
        <releases>
          <enabled>true</enabled>
        </releases> <!--是否下载snapshots构件 -->
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
      </repository>
    </repositories>
    <pluginRepositories> <!-- 插件仓库,maven的运行依赖插件,也需要从私服下载插件 -->
      <pluginRepository> <!-- 插件仓库的id不允许重复,如果重复后边配置会覆盖前边 -->
        <id>public</id>
        <name>Public Repositories</name>
        <url>http://nas:18081/repository/maven-public/</url>
      </pluginRepository>
    </pluginRepositories>
  </profile>
</profiles>
<!-- 选择那一个配置 -->
<activeProfiles>
  <activeProfile>dev</activeProfile>
</activeProfiles>

6. 安装三方依赖

6.1 安装至本地

mvn install:install-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dfile=fastjson-1.1.37.jar -Dpackaging=jar

6.2 上传至私服

mvn deploy:deploy-file -DgroupId=com.alibaba -DartifactId=fastjson -Dversion=1.1.37 -Dpackaging=jar -Dfile=fastjson-1.1.37.jar -Durl=http://localhost:8079/nexus/content/repositories/thirdparty/ -DrepositoryId=thirdparty

到了这里,关于【Java架构-包管理工具】-Maven私服搭建-Nexus(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker本地部署Nexus Maven私服并实现远程访问管理界面

    本文主要介绍如何在Linux中使用Docker一键部署Nexus Maven私有仓库工具并结合Cpolar内网穿透实现远程访问Nexus进行管理。 Nexus是一个仓库管理工具,用于管理和组织软件构建过程中的依赖项和构件。它与Maven密切相关,可以作为Maven仓库的服务器。Nexus提供了一个集中式的位置,用

    2024年01月19日
    浏览(34)
  • 【Java架构-包管理工具】-Maven进阶(二)

    Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven进阶知识,包含坐标、依赖、仓库、生命周期、插件、继承   坐标是构件的唯一标识,Maven 坐标的元素包括

    2024年02月11日
    浏览(28)
  • 【Java架构-包管理工具】-Maven基础(一)

    Maven作为Java后端使用频率非常高的一款依赖管理工具,在此咱们由浅入深,分三篇文章(Maven基础、Maven进阶、私服搭建)来深入学习Maven,此篇为开篇主要介绍Maven概念、模型、安装配置、基本命令   Maven是跨平台的项目管理工具,主要服务于Java平台的项目构建和依赖管理

    2024年02月11日
    浏览(24)
  • Maven学习1_将项目打包jar然后上传到GitHub、Nexus Sonatype仓库、搭建Sonatype私服

    概述 主要学习记录Maven仓库相关知识,如何借助上传项目jar包到GitHub、Nexus Sonatype,,以及搭建自己的Nexus Sonatype私服,然后在Maven项目的pom文件引入使用,参考Maven官网文档:https://central.sonatype.org/publish/publish-maven/ 需要了解:Maven中央仓库并不支持直接发布jar 包,需要将jar 包

    2024年02月15日
    浏览(33)
  • 新手入门Win-Server下Maven私服nexus的搭建、使用与配置,这一篇就够了

    近期项目上有需要搭建一个maven私服仓库,于是自己试着弄了一下,踩了一些坑,特此想发布一篇教程,并提供资源,方便大家遇到类似的情况时能够快速完成工作; 关于nexus的介绍,这里不多废话了,感兴趣的可以去官网自己查看。 一、先要去下载nexus安装包 https://www.son

    2024年02月02日
    浏览(29)
  • docker安装Nexus,maven私服

    nexus作为私服的maven仓库,在企业级应用中,提供了依赖来源的稳定性,为构建庞大的微服务体系,打下基础 这里如果不设置,nexus在容器里会创建不了文件锁,导致异常 -e INSTALL4J_ADD_VM_PARAMS=“-Xms512m -Xmx512m” ,留意这条指令,主要用于限制内存的使用 通过GPT可以简单的将

    2024年04月08日
    浏览(29)
  • Maven发布项目到Nexus私服

    在项目pom.xml中文件中的仓库配置,Nexus私服如何搭建在这里不介绍了可自行百度。 在maven的settings.xml文件中添加服务器配置,仓库id、用户名和密码,id需要与上面pom.xml中的仓库id一致,两个密码都是nexus登录密码。 再执行mvn deploy,也可以直接使用idea执行。

    2024年02月14日
    浏览(34)
  • Maven进阶2 -- 私服(Nexus)、私服仓库分类、资源上传和下载

    目录 私服是一台独立的服务器,用于解决团队内部的资源共享与资源同步问题。 Nexus 是sonatype公司的一款maven私服产品。 下载地址 启动 访问 登录   本地仓库上传和访问资源需要进行 配置 。 ①创建两个仓库demo-snapshot和demo-release   ②配置访问私服的权限 ③配置私服访问路

    2024年02月13日
    浏览(32)
  • Docker部署Nexus Maven私服并实现远程访问Nexus界面

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 是一个仓库管理工具,用于管理和组织软件构建过

    2024年01月24日
    浏览(31)
  • Maven本地配置获取nexus私服的依赖

    Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包: Nexus-在项目中使用Maven私服,Deploy到私服、上传第三方jar包、在项目中使用私服jar包_nexus maven-releases 允许deploy-CSDN博客 在上面讲的是在需要拉取私服依赖的项目中的pom中配置repository的方式去

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包