Maven核心概念及Eclipse使用Maven

Eclipse使用Maven

1)、添加Maven

Maven核心概念及Eclipse使用Maven_第1张图片

2)、修改本地库

Maven核心概念及Eclipse使用Maven_第2张图片

3)、建立Maven项目

Maven核心概念及Eclipse使用Maven_第3张图片

4)、文件结构

Maven核心概念及Eclipse使用Maven_第4张图片

5)、关于web项目报错的解决

新建立的文件无web结构:
Maven核心概念及Eclipse使用Maven_第5张图片
修改:
Maven核心概念及Eclipse使用Maven_第6张图片
结果:
Maven核心概念及Eclipse使用Maven_第7张图片
Ps:此时还需配置web项目依赖的包,就可使用

核心概念

1)、POM(核心配置)

版本、坐标(项目名、模块名、版本号)、依赖
pom.xml实例:


       		
  	4.0.0
  	
  	com.mfqh.maven
  	DemoMaven
  	0.0.1-SNAPSHOT
  	
  	demo
  	This is a demo
  	
    	 
   		
 		
     			org.springframework
     			spring-core
     			5.0.0.RELEASE
 		
  	 
  	

2)、约定的目录结构

src/main/java:java文件

src/main/resources:配置文件

src/test/java:测试代码

src/test/resources:测试的配置文件

target:临时文件:编译后的文件,jar包

Tips:约定 > 配置 > 编码——>能用配置的就不编码,能基于约定的就不配置

3)、坐标(GAV)

groupId:公司或域名的倒叙+项目名称

artifactId:项目的模块名称

version:当前模块的版本

组合路径:g/a/v/a-v.jar

Ps:本地的maven工程可执行mvn install来加入到本地库中

Tips:搜索jar包依赖网站:http://mvnrepository.com/点击跳转

Maven核心概念及Eclipse使用Maven_第8张图片

4)、依赖管理

①通过dependency来定位依赖

   

②依赖的范围:value

类型 效果
compile 默认,main和test可访问该依赖,部署Tomcat运行时会放在lib下
test main不能,test可访问,部署Tomcat运行时不会放在lib下
provided main和test可访问该依赖,部署Tomcat运行时不会放在lib下
(如servlet,tomcat本身有)

③依赖可见性
A——>B——>C(C中配置)
compile:C对A/B可见
test:C对A/B不可见
provided:C对A/B不可见

④依赖原则(解决jar包冲突)
最短路径者优先
路径相同时,先声明者优先

⑤依赖的排除(在依赖的一方进行配置)

gav

⑥统一管理jar包版本
前配置:
版本号
中使用${spring.version}进行引用
Maven核心概念及Eclipse使用Maven_第9张图片

5)、仓库

①、类型
本地仓库:默认、搬家后
远程仓库:
私服(架设在当前局域网下)
中央仓库(架设在Internet上)
中央仓库的镜像(减轻中央仓库的压力)

②仓库中的文件(根据坐标生成目录结构)
Maven的插件、自己装载的模块、第三方框架/jar包

6)、生命周期

定义了各个构建环节的执行顺序,三套独立的生命周期:
Clean Lifecycle:构建之前的清理工作
Default Lifecycle:构建的核心部分
compile、test-compile、test、package、install、deploy
Ps:执行某一阶段时,前面的所有阶段都会被运行
Site Lifecycle:生成的项目报告、站点、发布站点

7)、插件和目标

插件位于:org/apache/maven/plugin
目标:maven来实现的操作

8)、继承

多个文件依赖于同一个jar包,可提取出来建立一个父工程
①父maven工程必须为pom类型
父工程中进行依赖管理

②在子工程中使用来引入父工程的gav,
还需使用来指定父工程的pom.xml文件
需要在子工程中声明要继承的jar包的ga

Ps:此时可以省略子工程gv,默认为父工程

9)、聚合

在安装项目时,其依赖的项目未安装则会报错
使用父工程聚合其它项目:


 项目路径

然后对父工程进行安装

你可能感兴趣的:(IDE)