Maven-基础

Maven-Apache
项目构建工具,用来管理项目依赖

Maven构建的项目非常小
jar包在仓库,而不在项目下面,Maven通过坐标去查找jar包(本地或中央仓库)。
坐标:struts2-core-2.3.24.jar
Apache(公司名称)+Struts2(项目名称)+2.3.24(版本信息)


Maven两大核心

  1. 依赖管理:对jar包管理
  2. 项目构建:项目在编码完成后,编译,打包,测试,部署--Maven通过命令来实现

Maven安装

Maven安装前提:Maven程序由java开发,依赖jdk
java环境变量配置
maven环境变量配置

MAVEN_HOME                             bin的上一级
PATH     ;%MAVEN_HOME%\bin;            bin目录


cmd->
java -version
mvn -v

Maven本地仓库配置

仓库类型

配置本地仓库:
\apache-maven-3.5.0\conf\settings.xml

  <!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repositoryrepository
  <localRepository>/path/to/local/repo</localRepository>
  -->

标准目录结构

标准目录结构

Maven常用命令

java -clean,删除之前编译好的.class文件,重新编译一次
mvn clean: 工作插件(可以在本地maven仓库找到对应的jar包):maven-clean-plugin-清理项目下的target目录
mvn compile: 工作插件:maven-compiler-plugin-编译,将项目中的.java文件编译成.class文件
mvn test:单元测试,将项目根目录下面src/test/java目录下的单元测试类中的方法都会执行,类名要求:XxxxTest.java
mvn package:将项目打包到target目录下
web Project ----war包
java Project ---java包
mvn install :安装(打包):将项目打包的文件放到本地仓库。解决本地多个项目共用一个jar包,该jar包发生更改后其他项目不需要改动,因为使用的是该jar包在maven本地仓库的坐标
后面的动作会包含前面的动作


Maven项目的生命周期

在Maven中存在“三套”生命周期,每一套生命周期互相独立,互不影响。但是在同一套生命周期内,执行后面的命令,前面的命令会自动执行。
CleanLifeCycle:清理生命周期
clean
defaultLifeCycle:默认生命周期
compile,test,package,install,deploy
siteLiftCycle:站点生命周期
site


坐标信息

GroupId:公司域名倒序
ArtifactId:项目名称
Version:版本,SNAPSHOP:测试版本,RELEASES:发布版本
Packaging:打包方式,jar:JAVA工程,war:web工程,pom:父工程


Maven依赖范围

  1. compile:编译依赖范围(默认),对其三种都有效
  2. test:测试依赖范围,只对测试classpath有效
  3. runtime:运行依赖范围,只对测试和运行有效,编译主代码无效,例如JDBC
  4. provided:已提供依赖范围,只对编译和测试有效,运行时无效,例如selvet-api
  5. system:系统依赖范围.谨慎使用.例如本地的,maven仓库之外的类库文件
  6. import(maven2.0.9以上):导入依赖范围,不会对其他三种有影响

pom.xml

  1. 本项目的坐标信息
  2. 本项目jdk编译版本信息
  3. 本项目需要的插件/依赖信息

tips

子pom项目继承父pom项目,父项目必须在<dependencies> </dependencies>外层再包裹一层<dependencyManagement> </dependencyManagement>',子项目才能继承到父项目的依赖的版本号,子项目才可以免写<version></version>`

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • 坐标 maven管理项目依赖的底层基础-坐标。坐标元素:groupId、artifactId、version、pa...
    破晓追风阅读 420评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,678评论 6 342
  • 打了一场漂亮的球,看过一部精彩的电影,读到一本韵味十足的书...这些都可使人兴奋,这些体验和他人无关。 他们说,考...
    付剑飞阅读 901评论 0 0
  • 多想这样去爱一个人,倾尽我的心,用尽我的情,只爱一个人! 新人首作,请多关照! 万般缘...
    superman先生阅读 312评论 0 1