码迷,mamicode.com
首页 > 编程语言 > 详细

(一)Java工程化--Maven基础

时间:2018-07-24 19:16:28      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:ons   config   ima   bubuko   地址   历史   cgi   密码   简单   

MAVEN 读作 [?mev?n]  翻译为中文是”内行, 专家”

一. Maven是什么

1. 包依赖的发展历史:  原始的jar包导入—>ant—>maven. 是一种项目管理工具.

2. 优势:

  • convention over configuration 约定优于配置; 这个原则不仅用于maven, 更是目前大多框架如mvc等遵循的原则.
  • 简单
  • 易于测试
  • 构建简单
  • CI(持续集成)
  • 插件丰富

二.  下载和安装

下载:http://maven.apache.org/download.cgi

安装: 解压安装即可

配置环境变量:

  • windows path   MAVEN_HOME
  • linux .bash_profile
  • 运行参数  通过环境变量设置 MAVEN_OPTS
  • 配置 settings.xml   settings.xml文件是个空的模板,我们可以在此做些自定义配置,如repo存储目录<localRepository>,mirror镜像地址,以及proxy配置<proxies>, 插件<pluginGroups>,私服配置(用户名密码等)<servers>, 环境<profile>

查找顺序:

技术分享图片

三. 创建maven项目

  • 项目结构 约定优于配置

技术分享图片

  • pom.xml

技术分享图片

groupId 公司组织

artifactId 功能命名

version 版本号

packaging 打包方式, 默认jar;

dependancyManagement 最好只出现在父pom里面, 用于统一版本号, 只做声明依赖,子模块使用时还需要引用,但不需做version指定了.

dependancy

    type 默认jar

    scope 指定哪个阶段使用

  1. complie 编译,打包  默认  如spring-core
  2. test 测试  如spring-test
  3. provided 编译 如servlet
  4. runtime 运行时  如JDBC驱动实现包
  5. system 本地一些jar
  6. 依赖传递 
  7. 依赖仲裁, (1)最短路径原则, 根据依赖树,就近取依赖树中最接近的那个版本;(2)加载顺序原则,相同的路径按加载顺序优先的;(3)exclusions 排除包

版本号更新插件,否则需要各模块修改pom

技术分享图片

命令: mvn dependancy:tree 查看依赖树

四. Maven生命周期(三个过程)

区分术语: lifecycle phase goal

clean  包含的phase: pre-clean—> clean –> post-clean

default  compile  package install  deploy ….

site  pre-site—>site—>post-site –> site-deploy

 

1. A Build Lifecycle is Made Up of Phases 一个构建生命周期是有多个phase组成

2. A Build Phase is Made Up of Plugin Goals  一个构建phase是由多个插件目标goal构成

(一)Java工程化--Maven基础

标签:ons   config   ima   bubuko   地址   历史   cgi   密码   简单   

原文地址:https://www.cnblogs.com/walkinhalo/p/9361787.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!