一、Maven

1.1Maven是什么

  Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。

  Maven这个单词来自于意第绪语(犹太语),意为知识的积累,最初在Jakata Turbine项目中用来简化构建过程。

概括地说,Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。 Maven增加可重用性并负责建立相关的任务。

1.2 Maven 和 Ant 的差异

Maven 和 Ant 针对构建问题的两个不同方面。Ant 为 Java 技术开发项目提供跨平台构建任务。Maven 本身描述项目的高级方面,它从 Ant 借用了绝大多数构建任务。

1.3 优势以及特点

1   约定优于配置  (Convention over configuration)          2简单       3测试支持  4 构建简单      5  CI    6    插件丰富

1.4 安装和使用

a) https://maven.apache.org/download.cgi       直接解压

bin目录 :命令  boot:Class loader  类加载器 :conf目录:所有配置的setting.xml

超级pom.xml目录:D:\Develop software\apache-tomcat-7.0.52\apache-maven-3.5.4\lib\maven-model-builder-3.5.4.jar\org\apache\maven\model

环境配置:MAV_HOME

  1. Windows  path
  2. Linux  .bash_profile

1.5 Maven原理

用户请求————>./(用户目录下的)m2/setting.xml ——————>config/.m2/setting.xml

maven在IDEA里配置:setting/maven 配置运行的setting.xml和D:\Develop software\apache-tomcat-7.0.52\maven-repository下载Jar包目录。

setting.xml常用里面标签的含义(可以自己配setting)

1  <localRepository>   jar包下载路径

2  <pluginGroups>   插件配置的运行

3  <proxies>      加相应的代理

4  <servers>        配置登录名密码

5  <mirrors>      配置镜像下载。分享一个快速的阿里云的配置

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

<mirror>

<id>ui</id>

<mirrorOf>central</mirrorOf>

<name>Human Readable Name for this Mirror.</name>

<url>http://uk.maven.org/maven2/</url>

</mirror>

<mirror>

<id>osc</id>

<mirrorOf>central</mirrorOf>

<url>http://maven.oschina.net/content/groups/public/</url>

</mirror>

<mirror>

<id>osc_thirdparty</id>

<mirrorOf>thirdparty</mirrorOf>

<url>http://maven.oschina.net/content/repositories/thirdparty/</url>

</mirror>

6     <profiles>       多个环境切换配置

pom.xml 常用里面标签的含义

a) pom.xml

  1. groupId   com.gupaoedu  建包规范
  2. artfactId 功能命名
  3. version 版本号
  4. packaging  打包方式 默认是jar

dependencyManagemen

<properties>    变量(内置)

dependencyMangement    只出现在主pom,统一版本号,声明和

dependency        Type 默认jar,

scope下的子标签

a) compile  编译   例如spring-core

b) test 测试

c) provided编译  例如 servlet

d) runtime运行时 例如JDBC驱动实现

e) system 本地一些jar  例如短信jar

f) 依赖传递

第一列表示直接依赖的scope,第一行表示间接依赖的scope

1.6 生命周期

lifecycle生命周期/phase阶段/goal

1.clean    里有pre-clean,clean目标,post-clean   

2 default 常见的有compile,package ,install ,depoly......  

3 site   里有 pre-site,site,post-site,site-deploy

  1. A Build Lifecycle is Made Up of Phases(构建生命周期由多个阶段组成)
  2. A Build Phase is Made Up of Plugin Goals(构建阶段由插件目标组成)

如下图所示

0.1 Maven相关知识(项目开发基础)的更多相关文章

  1. Maven相关知识总结

    目录 认识Maven Maven下载安装 Maven能用来做什么 Maven核心概念 开发目录 坐标和仓库 POM文件 POM文件内容 Maven依赖管理 构建生命周期 构建多模块系统 聚合 继承 聚 ...

  2. 《Maven在Java项目开发中的应用》论文笔记(十七)

    标题:Maven在Java项目开发中的应用 一.基本信息 时间:2019 来源:山西农业大学 关键词:Maven:Java Web:仓库:开发人员:极限编程; 二.研究内容 1.Maven 基本原理概 ...

  3. 01-flask电商项目开发基础配置

    本项目前端采用vue-cli的脚手架,后端采用Flask的Web框架.项目通过完成用户管理.权限管理.商品管理.订单管理.统计管理等功能,综合了前后端的知识,希望使大家都能受益. 1.使用到的技术如下 ...

  4. kotlin项目开发基础之gradle初识

    在Android Studio推出之后默认的打包编译工具就变为gradle了,我想对于一名Android程序员而言没人不对它知晓,但是对于它里面的一些概念可能并不是每个人都了解,只知道这样配置就ok了 ...

  5. 项目开发-->基础功能汇总

    祭奠曾经逝去的青春…… 1.基础功能汇总-->身份认证及用户登录模块 2.基础功能汇总-->一键登录功能汇总 3.堆和栈 4.变量

  6. Hadoop项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  7. Hive项目开发环境搭建(Eclipse\MyEclipse + Maven)

    写在前面的话 可详细参考,一定得去看 HBase 开发环境搭建(Eclipse\MyEclipse + Maven) Zookeeper项目开发环境搭建(Eclipse\MyEclipse + Mav ...

  8. 转】用Maven构建Mahout项目

    原博文出自于: http://blog.fens.me/hadoop-mahout-maven-eclipse/ 感谢! 用Maven构建Mahout项目 Hadoop家族系列文章,主要介绍Hadoo ...

  9. 用Maven构建Mahout项目

    转载请注明出处:http://blog.fens.me/hadoop-mahout-maven-eclipse/ Hadoop家族系列文章,主要介绍Hadoop家族产品,常用的项目包括Hadoop, ...

随机推荐

  1. Markdown 进阶

    目录 markdown进阶语法 内容目录 加强代码块 脚注 流程图 时序图 LaTeX公式 markdown进阶语法 内容目录 使用 [TOC] 引用目录,将 [TOC] 放至文本的首行,编辑器将自动 ...

  2. jQuery插件实例四:手风琴效果[无动画版]

    手风琴效果就是内容的折叠与打开,在这个插件中,使用了三种数据来源:1.直接写在DOM结构中:2.将数据写在配置项中:3.从Ajax()中获取数据.在这一版中,各项的切换没有添加动画效果,在下一版中会是 ...

  3. MySQL主从复制日常管理维护篇

    日常工作中,我们需要经常进行一些监控和管理维护工作,以便能及时发现一些复制中的问题,并尽快解决,以此来保证复制能够正常工作 1.查看从库状态 MySQL [(none)]> show slave ...

  4. Hadoop HBase概念学习系列之HMaster服务器(四)

    每台HRegion服务器都会和HMaster服务器通信,HMaster的主要任务就是告诉每个HRegion服务器它要维护哪些HRegion. 当一台新的HRegion服务器登录到HMaster服务器时 ...

  5. Windows Phone 8 获取与监听网络连接状态(转)

    原文地址:http://www.cnblogs.com/sonic1abc/archive/2013/04/02/2995196.html 现在的只能手机对网络的依赖程度都很高,尤其是新闻.微博.音乐 ...

  6. 粗略的整改一下blog

    一.先找个简约的模板:看个人喜好咯 二.页面定制CSS: 1.首先,查看主页源码,了解一下各个标签的id,引用的class等 2.通过操作相应的id,class,和标签,进行个性化.这里需要具备看懂和 ...

  7. app的描述-软件的描述

    app的描述=需求文档+接口文档+程序架构+工程结构.   程序架构:类结构图: 需求文档:业务逻辑-->时序图.

  8. mysql 压缩备份 压缩还原 命令

    .mysqldump 备份并压缩sql文件 mysql>mysqldump -h主机ip -u用户名 -p密码(也可不输入) 数据库名 | gzip > 压缩后文件位置 .mysql直接用 ...

  9. gcc 动态编译 动态库路径

    gcc 动态编译(共享库) 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令优点:体积小,编译快缺点:依赖性高 代码如下: [root@74-82-173-21 ...

  10. 添加默认的过滤条件xml

    <search string="Search Sales Origin"> <field name="name"/> <field ...