Maven3

什么是Maven

Maven是一个管理项目的工具(项目对象模型POM)

Maven的安装和配置

官网下载https://maven.apache.org/download.cgi
在这里插入图片描述
bin.zip压缩包,src.zip是源码压缩包。

将apach-maven–bin.zip解压到D盘。
配置环境变量:MAVEN_HOME,
在这里插入图片描述
path中添加到bin目录
在这里插入图片描述
cmd中测试 mvn -version
在这里插入图片描述

Maven HelloWord实现

使用maven编译java代码,注意目录结构。
在这里插入图片描述
创建D:/HelloWord/src/main/java/目录
main目录下创建一个java目录,之后在这个目录中写java代码
test目录下创建一个java目录,之后在这个目录中写java测试代码。

创建pom.xml文件
在这里插入图片描述
项目HelloWord,java代码写在相应的目录下,使用cmd进入HelloWord目录下
pom.xml文件

<?xml version="1.0"?>

<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">

<modelVersion>4.0.0</modelVersion>
<groupId>hz.HelloWorld</groupId>
<artifactId>HelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies>
	<dependency><!--jar包依赖,直接在远程仓库中找就可以了-->
		<groupId>org.junit.jupiter</groupId>
		<artifactId>junit-jupiter-api</artifactId>
		<version>5.3.1</version>
	</dependency>
</dependencies>

</project>

target目录是编译后生成的目录
pom.xml文件声明哪个项目(org.junit.jupiter),项目的哪个模块(junit-jupiter-api),版本号(5.3.1)

mvn compile命令进行编译。

常用的Maven命令

modelVersion:POM 模型版本 4.0.0 固定
groupId:一般指某个公司或者某个组织的某个项目 比如 ------------------------------------------org.springframework
artifactId:一般指某个具体项目的某个具体模块 比如 spring-context Version:项目的版本 Maven 常见命令
Mvn compile 编译
Mvn clean 清空
Mvntest 测试
Mvnpackage 打包
Mvninstall 把项目安装到本地仓库
Mvn 远程仓库地址http://mvnrepository.com/

Maven修改本地仓库的位置

默认是C:\Users\houzhengming.m2\repository
修改配置文件D:\maven\apache-maven-3.6.3\conf\settings.xml 文件
在这里插入图片描述
加入
在这里插入图片描述

Eclipse使用Maven

打开 Eclipse,点击菜单 Help->Install NewSoftware 点击 Add 按钮
Name:m2e location:http://download.eclipse.org/technology/m2e/releases
(由于最新版的 Eclipse 代号 Mars,已经直接集成了 Maven,所以无需在安装 m2eclipse 插件)

1.配置本地仓库

settings.xml文件在D:\maven\apache-maven-3.6.3\conf\settings.xml 拷贝出来,修改仓库位置,eclipse自动识别文件里面的仓库位置
在这里插入图片描述

2 配置下载jar包源码
在这里插入图片描述
3.创建Maven工程,默认使用的是JRE,手动改成JDK,不然Maven会报错
在这里插入图片描述

4.创建Maven工程
File–>New–>Maven Project–>Next.。
在这里插入图片描述
!](https://img-blog.csdnimg.cn/20200220103321996.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE0MjAzMg==,size_16,color_FFFFFF,t_70)
在这里插入图片描述
在这里插入图片描述

Maven的聚合和继承

聚合:将一个项目的两个模块合并成一个,实际上就是创建C,将A,B合并,运行C就是同时运行A,B。
创建Maven工程C
在这里插入图片描述
在这里插入图片描述
pom.xml文件
在这里插入图片描述
继承:继承父类,也就是继承pom.xml文件,父类中的pom.xml写完了依赖,在子类中的pom.xml文件中用到的话就不用写了,不用写版本了

父类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.java1234.user</groupId>
  <artifactId>user-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  
  <properties>
  	<!--统一管理:spring-version随便写,引用的时候对应起来就行-->
  	<spring-version>4.1.7.RELEASE</spring-version>
  </properties>
  <!--依赖管理器-->
  <dependencyManagement>
  	<dependencies>
  		<dependency>
		    <groupId>org.mybatis</groupId>
		    <artifactId>mybatis</artifactId>
		    <version>3.5.4</version>
		</dependency>
		<dependency>
	  		<groupId>org.springframework</groupId>
	  		<artifactId>spring-core</artifactId>
	  		<version>${spring-version}</version>
	  	</dependency>
	</dependencies>
  <dependencyManagement>

子类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>

<!-- 继承 -->
  <parent>
  	<groupId>com.java1234.user</groupId>
  	<artifactId>user-parent</artifactId>
  	<version>0.0.1-SNAPSHOT</version>
  	<relativePath>../user-parent/pom.xml</relativePath>
  </parent>

  <artifactId>user-dao</artifactId>
  <packaging>jar</packaging>

  <dependencies>
  	<dependency>
	    <groupId>org.mybatis</groupId>
	    <artifactId>mybatis</artifactId>
	    <version>3.5.4</version><!--这个就不用写了-->
	</dependency>
  <dependencies>

Maven远程仓库的配置文件

$M2_HOME/lib/maven-model-builder-3.3.3.jar 
文件:org\apache\maven\model\pom-4.0.0.xml 
<repositories> 
	<repository> 
		<id>central</id> 
		<name>Central Repository</name> 
		<!--远程仓库的地址-->
		<url>https://repo.maven.apache.org/maven2</url> 
		<layout>default</layout> 
		<snapshots> 
			<enabled>false</enabled> 
		</snapshots> 
	</repository> 
</repositories>

Maven依赖特性

在这里插入图片描述

Maven的依赖范围

classpath 分为三种:编译 classpath, 测试 classpath, 运行 classpath
Scope 选项如下: Compile:编译依赖范围。默认就是 compile。在编译,测试,运行都有效;
Test:测试依赖范围。仅测试有效; 例如 JUnit;
Provided:已提供依赖范围。编译,测试有效,运行时候无效。例如 servlet-api。
System:系统依赖范围。(了解即可)使用 system 范围的依赖必须通过 sytemPath 指定依赖文件的路径。
Import:导入依赖范围。(了解即可)使用 dependencyManagement 时候,可以导入依赖配置。

Maven的生命周期

Maven 生命周期简介:Maven 通过插件的方式完成一系列过程来实现功能。
Maven 拥有三套独立的生命周期:

  1. Clean 清理项目
  2. Default 构建项目
  3. Site 建立项目站点(了解即可)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Maven中的路径问题classpath

classpath:表示src/main/resources目录下,也可以表示src/main/java目录下。优先级:resources > java

添加链接描述

classpath路径问题

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值