Maven核心概念及Eclipse使用Maven

Eclipse使用Maven

1)、添加Maven

在这里插入图片描述

2)、修改本地库

在这里插入图片描述

3)、建立Maven项目

在这里插入图片描述

4)、文件结构

在这里插入图片描述

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

新建立的文件无web结构:
在这里插入图片描述
修改:
在这里插入图片描述
结果:
在这里插入图片描述
Ps:此时还需配置web项目依赖的包,就可使用

核心概念

1)、POM(核心配置)

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

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
       		http://maven.apache.org/xsd/maven-4.0.0.xsd">
       		
  	<modelVersion>4.0.0</modelVersion>
  	
  	<groupId>com.mfqh.maven</groupId>
  	<artifactId>DemoMaven</artifactId>
  	<version>0.0.1-SNAPSHOT</version>
  	
  	<name>demo</name>
  	<description>This is a demo</description>
  	
    	<dependencies> 
   		<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
 		<dependency>
     			<groupId>org.springframework</groupId>
     			<artifactId>spring-core</artifactId>
     			<version>5.0.0.RELEASE</version>
 		</dependency>
  	</dependencies> 
  	
</project>
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/点击跳转

在这里插入图片描述

4)、依赖管理

①通过dependency来定位依赖

<dependency> <gav> <scope></scope> </dependency>

②依赖的范围:<scope>value</scope>

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

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

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

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

<exclusions><exclusion>gav</exclusion></exclusions>

⑥统一管理jar包版本
在<dependencies>前配置:
<properties><spring.version(自定义标签)>版本号</spring.version></properties>
在<denpendency>中使用${spring.version}进行引用
在这里插入图片描述

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类型
父工程中进行依赖管理

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

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

9)、聚合

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

<modules>
 <module>项目路径</module>
</modules>

然后对父工程进行安装

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值