欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Maven核心概念及Eclipse使用Maven

程序员文章站 2024-03-15 14:14:47
...

Eclipse使用Maven

1)、添加Maven

Maven核心概念及Eclipse使用Maven

2)、修改本地库

Maven核心概念及Eclipse使用Maven

3)、建立Maven项目

Maven核心概念及Eclipse使用Maven

4)、文件结构

Maven核心概念及Eclipse使用Maven

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

新建立的文件无web结构:
Maven核心概念及Eclipse使用Maven
修改:
Maven核心概念及Eclipse使用Maven
结果:
Maven核心概念及Eclipse使用Maven
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/点击跳转

Maven核心概念及Eclipse使用Maven

4)、依赖管理

①通过dependency来定位依赖

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

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

类型 效果
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包冲突)
最短路径者优先
路径相同时,先声明者优先

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

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

⑥统一管理jar包版本
在<dependencies>前配置:
<properties><spring.version(自定义标签)>版本号</spring.version></properties>
在<denpendency>中使用${spring.version}进行引用
Maven核心概念及Eclipse使用Maven

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>

然后对父工程进行安装

相关标签: IDE maven eclipse