maven是什么?有什么用?

  Maven是一个跨平台项目管理工具,主要服务于Java平台的项目构建,依赖管理项目信息管理。项目构建包括创建项目框架、清理、编译、测试、到生成报告,再到打包和部署,项目信息包括项目描述,开发者列表,版本,项目文档,测试报告,静态分析报告,源码版本日志报告。

Windows上安装Maven

1.检查JDK:java -v

2.下载maven:https://maven.apache.org/download.cgi 选择apache-maven-3.3.3-bin.zip

3.本地安装:

  解压文件到指定目录下,如D:\apache-maven-3.3.3,在系统变量中新一个M2_HOME变量名,变量值为该安装目录,然后在Path中添加%M2_HOME%\bin,重启命令窗口,输入echo %M2_HOME%,如果输出安装目录,表示配置没问题,再输入mvn -v 输出版本号和path中信息表示安装成功。

seeting.xml文件配置详解

1.配置本地仓库:

  maven默认仓库是:${user.home}/.m2/repository,通常在C盘,随着仓库内容越来越大,放在C盘显然不太好,下面配置是自定义仓库目录。

<localRepository>F:/maven/apache-maven-3.2.5/repo</localRepository>

这里我放在了maven的安装目录下。

2.设置离线模式

如果不想maven连接远程仓库,只使用本地仓库,可将maven设置为离线模式,默认为false。

<offline>false</offline>

3.设置HTTP代理

如果当前网络无法直接连接maven中央仓库,那么就可设置代理连接了。

    <proxy><!-- id --><id>optional</id><!-- 是否启用 --><active>true</active><!-- 协议 --><protocol>http</protocol><username>proxyuser</username><password>proxypass</password><host>proxy.host.net</host><port>80</port><!-- 不使用代理的主机地址 --><nonProxyHosts>local.net|some.host.com</nonProxyHosts></proxy>    

4.设置插件组

  Maven在解析插件仓库元数据的时候,会默认使用org.apache.maven.plugins和org.codehaus.mojo两个groupId。如果增加自定义的插件组可在setting.xml中配置,这样maven在解析命令先会在org/apache/maven/plugins/maven-metadata.xml中找,如果没找到再去org/codehaus/mojo/maven-metadata.xml,如果还没找到就去下面自定义的插件组,如果还没搜索到就报错。

<pluginGroups><pluginGroup>com.your.plugins</pluginGroup>
</pluginGroups>

5.配置服务器认证

如果需要每一个连接maven仓库的连接提供认证信息,才提供相关下载服务,那么可以配置认证。

<servers><server><!-- id与pom中配置的id相同 --><id>depRepo</id><username>user</username><password>pass</password></server>
</servers>
或者
<server><id>siteServer</id><!-- 密匙 --><privateKey>/path/to/private/key</privateKey><!-- 密码 --><passphrase>optional; leave empty if not used.</passphrase>
</server>

6.配置镜像

通常我们直接连接maven中央库下载jar包会比较慢(一是使用的人多,二是中央库在国外),这时如果国内有一个服务器同样可以下载中央库里的所有资源,我们就称它为中央库的镜像,国内镜像越多就能很好的分流,从而提高下载速度。

<mirrors><mirror><id>jboss-public-repository-group</id><name>JBoss Public Repository Group</name><url>http://repository.jboss.org/nexus/content/groups/public</url><mirrorOf>central</mirrorOf></mirror>
</mirrors>

这些镜像地址可以在网上搜索到,其中mirrorOf表示任何对maven中央库的请求都会转到这个镜像上,从而屏蔽掉了maven中央库,如果这个镜像忽然不可用了,那么maven也不会去连接maven中央库。

7.个性化配置

场景一:实现多环境自动切换,如开发环境,生产环境,测试环境。

<profiles>
<!-- 测试环境 --><profile><id>env-test</id><activation><!-- 默认激活该环境 --> <activeByDefault>true</activeByDefault></activation><!-- 定义一个属性文件,其他地方只需要${profiles.activation}即可引用里面的值 --><properties><profiles.activation>xmj_old</profiles.activation></properties><build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>tomcat-maven-plugin</artifactId><version>1.1</version><configuration><!-- 配置项目自动发布服务器 --><url>http://xx.xx.xx.xx:8080/manager/text</url><path>/xmj-manager</path><server>Tomcat</server><warFile>target/${profiles.activation}.war</warFile></configuration></plugin></plugins></build><profile><!-- 生产环境 --><profile><id>env-production</id><!-- 定义一个属性文件,其他地方只需要${profiles.activation}即可引用里面的值 --><properties><profiles.activation>xmj_new</profiles.activation></properties><build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>tomcat-maven-plugin</artifactId><version>1.1</version><configuration><!-- 配置项目自动发布服务器 --><url>http://xx.xx.xx.xx:8080/manager/text</url><path>/xmj-manager</path><server>Tomcat</server><warFile>target/${profiles.activation}.war</warFile></configuration></plugin></plugins></build><profile>
</profiles> 执行profile命令:clean instance  使用默认激活环境,也就是dev-test   clean instance -P env-production 使用 env-production环境构建
 

场景二:配置Nexus仓库

<profile><id>nexus</id><!-- 激活配置 --><activeProfiles><activeProfile>nexus</activeProfile></activeProfiles><!-- 构件仓库 --><repositories><repository><id>public</id><name>Nexus-public</name><url>http://localhost:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></repository></repositories><!-- 插件仓库 --><pluginRepositories><pluginRepository><id>public</id><name>Nexus-public</name><url>http://localhost:8081/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories></profile>

<!-- 激活列表,构建时列表的中的profile均被激活 -->
<activeProfiles><activeProfile>env-test</activeProfile><activeProfile>nexus</activeProfile>
</activeProfiles>

  

转载于:https://www.cnblogs.com/manliu/p/4660270.html

《Maven 实战》笔记之setting.xml介绍相关推荐

  1. 日常填坑系列-Maven-1、Maven的安装及setting.xml配置

    一.下载Maven 官方网站https://mirrors.tuna.tsinghua.edu.cn/apache/maven/,选择想要下载的版本 2.3.5.3版本的http://mirrors. ...

  2. 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(Anaconda软件介绍)

    Anaconda软件介绍 Anaconda下载与安装(安装之后会有详细步骤) 下载地址: Anaconda官网 https://www.anaconda.com/distribution/ 清华大学软 ...

  3. 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(开发环境介绍)

    开发环境介绍 Python3 1.结构清晰,简单易学 2.丰富的标准库 3.强大的的第三方生态系统 4.开源.开放体系 5.高可扩展性:胶水语言 6.高可扩展性:胶水语言 7.解释型语言,实现复杂算法 ...

  4. maven实战笔记-13

        11.7  监视Hudson任务状态     11.7.1  全局任务状态 其中需要解释的是当前状态及图中第一列(S)下的球形图标.Hudson使用各种颜色表示任务当前的状态: 蓝色:任务最近 ...

  5. maven实战笔记-12

      11.6  创建Hudson任务     点击页面左侧"新建任务",如下图所示: 单击OK按钮即可进入详细的任务配置页面.     11.6.1  Hudson任务的基本配置 ...

  6. Maven配置文件(setting.xml)属性解析

    前置信息 Maven 版本:apache-maven-3.5.2 Nexus 信息:nexus2.nexus3 镜像仓库:如果仓库 X 可以提供仓库 Y 存储的所有的内容,那么仓库 X 就可以说是 仓 ...

  7. Maven学习笔记,动力节点maven教程随堂笔记(史上最全)

    Maven笔记 这篇笔记的学习视频来自b站动力节点 https://www.bilibili.com/video/BV1dp4y1Q7Hf 笔记中的源码下载地址 动力节点maven资料 第一部分 1. ...

  8. 动力节点Maven课程笔记

    Maven 一,Maven简介 1,Maven的主要目标是让开发人员在最短的时间内理解开发工作的完整状态.为了实现这一目标,Maven处理了几个关注的领域: 简化构建过程 提供统一的构建系统 提供高质 ...

  9. MAVEN配置文件Setting.xml学习笔记

    题记:对于maven一直是"拿来主义",但是遇到问题就有点傻逼了,今天就遇到一个maven打包的缺少插件的问题,于是整理一片学习笔记.2020.3.25 一.Setting.xml ...

最新文章

  1. cond_resched()
  2. linux常见的几种运行级,linux有几种运行级别
  3. pdf不支持64位浏览器_4MLinux 31.0 发布,不支持32位
  4. OpenCV中基本数据结构(1)_Point
  5. GET 和 POST的区别(转载)
  6. Python 数据结构与算法——从某个列表中找出两个彼此最接近但不相等的数
  7. js获取当前卫星云图url并播放
  8. 前端JQuery插件distpicker.js的部分操作使用
  9. 【硬件和驱动】如何查看linux的驱动有没有装好 ——声卡无声音,有驱动为例子,网卡wifi驱动相关
  10. jmeter使用手册
  11. php表格行数怎么设置,表格怎么排版
  12. 搜索引擎优化核心关键词策略
  13. vue项目没有package.json文件
  14. 使jira支持reopen率的统计
  15. 阿里云云服务器 ECS基础知识
  16. 专为小白写的官方win10系统安装教程(U盘装机)
  17. android手机系统对比,国产手机系统哪家强?几大主流手机系统盘点对比
  18. 使用STM32CubeMX新建小熊派的STM32L431RCT6工程实现LED灯闪烁
  19. 华为RS4 IP编址
  20. 弘辽科技:拼多多推广单元是什么意思?怎么做推广?

热门文章

  1. 旺铺免费,淘宝的义务不能免
  2. 当区块链遇到零知识证明
  3. python timber_如何使用Timber更有效地记录日志
  4. 如何使用C#在ASP.NET Core中轻松实现QRCoder
  5. 程序员远程办公_如何从办公室变成远程程序员
  6. 文件魔术数字_如何使用魔术脚手架自动创建文件并节省时间
  7. 数据通信技术(四:链路聚合)
  8. 线程组多次调用_详细分析 Java 中启动线程的正确和错误方式
  9. (C++)字符数组初始化的两种方法
  10. 白盒测试的5种逻辑覆盖法