一, Maven概念作用

概念
Maven是一个基于项目对象模型(POM)的概念的纯java开发的开源的项目管理工具。
作用
依赖管理(jar包依赖管理)
项目构建(项目编译、打包、测试、部署)。
分模块开发,提高开发效率。

二,Maven下载,安装,配置

下载:
直接搜索maven下载,下载的一般时一个maven压缩包,尽量解压到不包含中文名的目录中
安装配置
maven依赖java环境,所以要确保java环境已配置好 (maven-3.3+ 需要jdk7+)
1,环境变量创建MAVEN_HOME存放maven下载解压后的文件地址
2,环境变量中的Path中存放maven解压后文件的bin目录
3,测试maven已经安装配置完成:命令行输入maven -version可以弹出maven的版本信息说明已安装配置完成。

三,maven仓库

maven仓库的jar包拉取顺序:本地仓库 > 私服(如果配置了的话) > 公共仓库(如果配置了的话) > 中央仓库
本低仓库的位置需要自己创建并在maven配置文件中声明
maven配置文件:和bin目录同级的conf目录下的setting.xml文件。
其中中央仓库默认是国外的网站,版本最全,拉取的也最慢,本地仓库会默认保存使用过的依赖文件。
下面说明私服和公共仓库的配置方式

setting.xml配置公共仓库
setting.xml中添加如下配置(已国内的阿里云发布的为例)

<!--setting.xml中添加如下配置-->
<mirrors><mirror><id>aliyun</id>  <!-- 中心仓库的 mirror(镜像) --><mirrorOf>central</mirrorOf>    <name>Nexus aliyun</name><!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库--><url>http://maven.aliyun.com/nexus/content/groups/public</url>  </mirror>
</mirrors>

setting.xml配置私服
1,私服概念

  • 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。

  • 有了私服之后,当 Maven 需要下载依赖时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。

  • 私服可以解决在企业做开发时每次需要的jar包都要在中心仓库下载,且每次下载完只能被自己使用,不能被其他开发人员使用

  • 所谓私服就是一个服务器,但是不是本地层面的,是公司层面的,公司中所有的开发人员都在使用同一个私服
    下载安装
    官网下载 :https://blog.sonatype.com/
    如maven相似,下载压缩包直接解压在固定目录
    启动
    解压后在bin目录中执行:
    nexus install 在系统中安装nexus服务
    nexus uninstall 卸载nexus服务
    nexus start 启动服务
    nexus stop 停止服务
    Nexus登录
    访问私服:http://localhost:8081/nexus/
    username:admin
    password:admin123
    setting.xml配置

<servers><server> <id>nexus-public</id> <!-- nexus的认证id  自定义 --><username>admin</username> <!--nexus中的用户名密码--><password>admin123</password> </server>
</servers><profiles><profile> <id>nexus</id> <repositories> <repository> <id>nexus-public</id> <!--nexus认证id 【此处的repository的id要和 <server>的id保持一致】--><!--name随便--><name>Nexus Release Snapshot Repository</name> <!--地址是nexus中仓库组对应的地址--><url>http://localhost:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository></repositories> <pluginRepositories> <!--插件仓库地址,各节点的含义和上面是一样的--><pluginRepository> <id>nexus-public</id> <!--nexus认证id 【此处的repository的id要和 <server>的id保持一致】--><!--地址是nexus中仓库组对应的地址--><url>http://localhost:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile>
</profiles>
<!--或者配置一个镜像-->
<mirrors>
<mirror><id>nexus-aliyun</id><mirrorOf>nexus-aliyun</mirrorOf><name>Nexus aliyun</name><url>http://localhost8081/nexus/content/groups/public</url></mirror>
</mirrors>
<activeProfiles><activeProfile>yourjdk</activeProfile><!-- 使私服配置生效 --><activeProfile>nexus</activeProfile>
</activeProfiles>

Maven项目部署到私服

 ...<dependencies>.....</dependencies><!-- 在项目的pom.xml中 配置私服的仓库地址,可以将项目打jar包部署到私服 --><distributionManagement><repository><id>nexus-public</id> <!-- nexus认证id --><url>http://localhost:8081/nexus/content/repositories/releases</url></repository><snapshotRepository><id>nexus-public</id> <!-- nexus认证id --><url>http://localhost:8081/nexus/content/repositories/snapshots</url></snapshotRepository></distributionManagement>
</project>

私服仓库介绍

group 包含多个仓库,通过group库的地址可以从包含的多个仓库中查找构件
hosted 私服 服务器本地的仓库,其中存储诸多构件
proxy 代理仓库,其会关联一个远程仓库, 比如中央仓库,aliyun仓库,向该仓库查找构件时,如果没有会从其关联的仓库中下载
仓库名 描述
Releases 存放项目的稳定发布版本,一个模块做完后如果需要共享给他人,可以上传到私服的该库
Snapshots 对应不稳定的发布版本
3rd party 存放中央仓库没有的 ,如ojdbc.jar(oracleq数据库驱动),ValidateCode.jar(验证码工具包),可以上传到私服的该库中

浏览器输入私服地址localhost:8081/nexus进入私服并登录
在3rd part可以长传自己的jar依赖包,比如中央仓库没有的验证码的jar包validataCode.jar

注意

如果配置了私服或者国内公共仓库,依赖包的拉取就不会再去国外中央仓库拉取。
尤其是私服,依赖包在最初是空的,需要手动一个一个通过3rd part导入自己的私服。
建议还是使用私服,因为经过长时间的发展,jar包的版本过多存在各种不匹配的问题,需要每位开发者有自己的一套jar匹配版本,一次私服上传,终生有效(本低仓库会自动保存使用过的依赖包)

idea使用自己配置的maven

随pom.xml的改变自动导入

收藏加关注,再来不迷路!!!

Maven问题总结及配置私服或公共仓库相关推荐

  1. Maven高级-本地仓库访问私服配置及私服资源上传与下载

    目录 一.本地仓库访问私服配置 二.私服资源上传与下载 一.本地仓库访问私服配置 我们通过IDEA将开发的模块上传到私服,中间要经过本地的Maven的,本地Maven需要知道私服的访问地址以及私服访问 ...

  2. Maven_1.了解Maven以及其安装配置

    1.了解Maven 介绍Maven 介绍: Maven是Apache基金会下一个跨平台的项目管理工具,用于Java项目的构建.项目信息(项目名称,位置...)管理和依赖(JAR包)管理. 附加:依赖管 ...

  3. Maven的settings.xml配置详解

    Maven的settings.xml配置详解 1 基本介绍 maven的两大配置文件:settings.xml和pom.xml.其中settings.xml是maven的全局配置文件,pom.xml则 ...

  4. 【Maven学习】Nexus OSS私服仓库的备份与迁移

    背景 在上一篇博客 [Maven学习]Nexus OSS私服仓库的安装和配置 中,我们已经在机房搭建好了新的Nexus OSS私服仓库.下面是两个版本的Nexus OSS私服仓库的对比图. 老的Nex ...

  5. maven setting.xml 中文配置详解(全配置)

    <?xml version="1.0" encoding="UTF-8"?> <!--| 官方文档: https://maven.apache ...

  6. Maven项目发布的配置

    摘要:要想发布maven结构的项目到nexus私服上,可以通过两种方式来,一种是在项目的pom.xml文件里面配置,另一种是通过命令的方式发布到nexus私服上,但是这种方式的前提也得在setting ...

  7. 史上最详细Maven笔记以及搭建Nexus私服

    1.配置环境变量 1.1.方式一 M2_HOME 1.2.方式二 1.3. 查看是否配置成功 mvn -version 2.配置maven远程仓库地址 2.1.本地maven加载顺序 查找远程地址:m ...

  8. Maven的安装与配置[图文并用][一学就会]

    学习过程中记录博客的过程第五天,今天去GitHub搜刮了两个spring-boot项目,其中有一个因为忘了配置maven引起了maven包错乱,我也不知道该怎么重新加载,关闭打开修改都不行,气得我直接 ...

  9. SSM框架搭建--maven的安装和配置

    一.什么是maven? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个 ...

最新文章

  1. 2021河南省高考文科成绩排名查询,2021年河南高考成绩排名及一分一段表
  2. tensorrt优化笔记
  3. 去除字符串中指定字符
  4. Linux 精准获取进程pid--转
  5. maven工程src/main/java目录无法创建问题
  6. HR只在这些时间里看你的简历!
  7. kafka架构:分区机制详解
  8. 堆排序 海量数据求前N大的值
  9. Streamlit —使用数据应用程序更好地测试模型
  10. 队列处理高并发_高并发架构消息队列面试题解析
  11. TreeMap1.8源码
  12. MD5加密以及产生唯一的ID
  13. python爬虫--爬取豆瓣top250电影名
  14. FPGA实验2:ADDA测试
  15. 哪些人需要在三九天调理体质?什么情况需要泡三九药浴?
  16. 开启并定制 Apache 显示目录索引样式
  17. 脉冲宽度调制pdm_脉冲宽度调制,脉宽调制
  18. 计算机重装后如何连接无线网络,笔记本重装系统后无法连接无线网络怎么办
  19. 裁员不可怕,可怕的是行业在发生巨变,而你却原地踏步
  20. 让顶部系统状态栏跟随APP背景色

热门文章

  1. 12.1.爬虫 副知识
  2. C语言求解华容道游戏最少步数及移动过程
  3. C语言调用dbf文件,C语言直接读取FOXBASE的DBF文件.pdf
  4. Java架构师知识体系结构导图
  5. 定一个小目标,明年存款破10万
  6. translator
  7. Android Studio新版本无法执行java的main函数
  8. shall的过去式和should怎么区分
  9. linux下如何把文件清空,详解在Linux中清空或删除大文件内容的5种方法
  10. Linux 部署企业生产环境中最常用的 RAID10 磁盘阵列(虚拟机环境)