1、安装
2、配置
3、约定目录结构
项目文件夹
src/
/main # 主程序目录
/java # 源代码
/resource # 资源和配置文件
/test # 测试程序目录
/java # 源代码
/resource # 资源和配置文件
pom.xml # maven核心配置文件
4、标签
1、项目标签
- project标签是根标签,后面是约束文件,限制属性和标签规则
- pom(project object module)模型版本
1、<project></project>
2、<modelVersion></modelVersion>
2、坐标标签(gav)
- 确定资源,是资源的唯一标识
- 在maven中,每个资源坐标是唯一的
1、<groupid></groupid>
- 组织名称:com.miao,一般是公司域名倒写
2、<artifiactid></artifiactid>
- 项目名称:如果groupid有项目,则是那个项目的子项目名称
3、<version></version>
- 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)
3、*全局变量标签
1、<properties></properties>
-
```xml <properties> <maven.compiler.source>17</maven.compiler.source> # 源码编译jdk版本 <maven.compiler.target>17</maven.compiler.target> # 运行代码的jdk版本 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> # 项目构建时使用的编码,避免乱码 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> # 生成报告的编码(mvn test) <spring.version></spring.version> # 规定jar包的版本号,配合<version></version>标签使用 <Junit.version></Junit.version> # 规定jar包的版本号,配合<version></version>标签使用 </properties> ```
-
使用变量
<version>${spring.version}</version> <version>${Junit.version}</version>
4、依赖坐标标签
1、<dependencies></dependencies>
1、<dependency></dependency>
配合gav使用
1、<scope></scope>
- compile(默认) 编译-测试-运行 logback
- test 测试 Junit
- provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
- runtime 测试-运行 jdbc驱动
- system 编译-测试 本地jar包
- import 待更新
5、打包标签
1、<packaging></packaging>
- 默认是jar,可以是war、jar、pom、ear等
6、构建标签
- 编译器的版本或者其他插件
1、<build></build>
2、<plugins></plugins>
<build>
<plugins>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-compiler-plugin</artifactid>
<version>3.8.1</version>
<configuration>
<!-- 默认是1.7 -->
<source>1.8</source> # 编译代码的jdk版本
<target>1.8</target> # 运行编译过的代码的jdk版本
</configuration>
</plugin>
</plugins>
</build>
7、继承标签
1、<parent></parent>
8、聚合标签
1、<modules></modules>
5、仓库
- 本地仓库,默认路径是 用户/用户名/.m2/repository
- 修改maven配置文件即可改变
<localrepository>路径</localrepository>
- 修改maven配置文件即可改变
- 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
- 远程仓库
6、生命周期和命令
- 需要插件的加持才能完成以下任务
- 需要在pom.xml同目录下运行命令
- 命令可以组合使用
- mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
- mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
- mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
- mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
- mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
- mvn install安装,一般以jar包的形式安装到本地仓库
- mvn deploy部署,自动部署到web容器中
- *mvn clean package清理后再打包,
7、资源处理原则
- 拷贝至target/classes/中
-
处理src/main/resource/
-
只处理src/main/java/的.java文件
-
资源插件可以解决问题2
<build> <resources> <resource> <directory>src/main/java</directory> # 过滤器要处理的目录 <includes> <include>**/*.properties</include> # 处理该目录下任意子目录的.properties文件 <include>**/*.xml</include> # 处理该目录下任意子目录的.xml文件 </includes> <filtering>false</filtering> # false不启用过滤器 </resource> </resources> </build>
8、*标准配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">
<!-- pom(project object module)模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 以下为坐标 -->
<groupId>org.example</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
1、安装
2、配置
3、约定目录结构
项目文件夹
src/
/main # 主程序目录
/java # 源代码
/resource # 资源和配置文件
/test # 测试程序目录
/java # 源代码
/resource # 资源和配置文件
pom.xml # maven核心配置文件
4、标签
1、项目标签
- project标签是根标签,后面是约束文件,限制属性和标签规则
- pom(project object module)模型版本
1、<project></project>
2、<modelVersion></modelVersion>
2、坐标标签(gav)
- 确定资源,是资源的唯一标识
- 在maven中,每个资源坐标是唯一的
1、<groupid></groupid>
- 组织名称:com.miao,一般是公司域名倒写
2、<artifiactid></artifiactid>
- 项目名称:如果groupid有项目,则是那个项目的子项目名称
3、<version></version>
- 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)
3、*全局变量标签
1、<properties></properties>
-
```xml <properties> <maven.compiler.source>17</maven.compiler.source> # 源码编译jdk版本 <maven.compiler.target>17</maven.compiler.target> # 运行代码的jdk版本 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> # 项目构建时使用的编码,避免乱码 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> # 生成报告的编码(mvn test) <spring.version></spring.version> # 规定jar包的版本号,配合<version></version>标签使用 <Junit.version></Junit.version> # 规定jar包的版本号,配合<version></version>标签使用 </properties> ```
-
使用变量
<version>${spring.version}</version> <version>${Junit.version}</version>
4、依赖坐标标签
1、<dependencies></dependencies>
1、<dependency></dependency>
配合gav使用
1、<scope></scope>
- compile(默认) 编译-测试-运行 logback
- test 测试 Junit
- provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
- runtime 测试-运行 jdbc驱动
- system 编译-测试 本地jar包
- import 待更新
5、打包标签
1、<packaging></packaging>
- 默认是jar,可以是war、jar、pom、ear等
6、构建标签
- 编译器的版本或者其他插件
1、<build></build>
2、<plugins></plugins>
<build>
<plugins>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-compiler-plugin</artifactid>
<version>3.8.1</version>
<configuration>
<!-- 默认是1.7 -->
<source>1.8</source> # 编译代码的jdk版本
<target>1.8</target> # 运行编译过的代码的jdk版本
</configuration>
</plugin>
</plugins>
</build>
7、继承标签
1、<parent></parent>
8、聚合标签
1、<modules></modules>
5、仓库
- 本地仓库,默认路径是 用户/用户名/.m2/repository
- 修改maven配置文件即可改变
<localrepository>路径</localrepository>
- 修改maven配置文件即可改变
- 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
- 远程仓库
6、生命周期和命令
- 需要插件的加持才能完成以下任务
- 需要在pom.xml同目录下运行命令
- 命令可以组合使用
- mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
- mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
- mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
- mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
- mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
- mvn install安装,一般以jar包的形式安装到本地仓库
- mvn deploy部署,自动部署到web容器中
- *mvn clean package清理后再打包,
7、资源处理原则
- 拷贝至target/classes/中
-
处理src/main/resource/
-
只处理src/main/java/的.java文件
-
资源插件可以解决问题2
<build> <resources> <resource> <directory>src/main/java</directory> # 过滤器要处理的目录 <includes> <include>**/*.properties</include> # 处理该目录下任意子目录的.properties文件 <include>**/*.xml</include> # 处理该目录下任意子目录的.xml文件 </includes> <filtering>false</filtering> # false不启用过滤器 </resource> </resources> </build>
8、*标准配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">
<!-- pom(project object module)模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 以下为坐标 -->
<groupId>org.example</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
1、安装
2、配置
3、约定目录结构
项目文件夹
src/
/main # 主程序目录
/java # 源代码
/resource # 资源和配置文件
/test # 测试程序目录
/java # 源代码
/resource # 资源和配置文件
pom.xml # maven核心配置文件
4、标签
1、项目标签
- project标签是根标签,后面是约束文件,限制属性和标签规则
- pom(project object module)模型版本
1、<project></project>
2、<modelVersion></modelVersion>
2、坐标标签(gav)
- 确定资源,是资源的唯一标识
- 在maven中,每个资源坐标是唯一的
1、<groupid></groupid>
- 组织名称:com.miao,一般是公司域名倒写
2、<artifiactid></artifiactid>
- 项目名称:如果groupid有项目,则是那个项目的子项目名称
3、<version></version>
- 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)
3、*全局变量标签
1、<properties></properties>
-
```xml <properties> <maven.compiler.source>17</maven.compiler.source> # 源码编译jdk版本 <maven.compiler.target>17</maven.compiler.target> # 运行代码的jdk版本 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> # 项目构建时使用的编码,避免乱码 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> # 生成报告的编码(mvn test) <spring.version></spring.version> # 规定jar包的版本号,配合<version></version>标签使用 <Junit.version></Junit.version> # 规定jar包的版本号,配合<version></version>标签使用 </properties> ```
-
使用变量
<version>${spring.version}</version> <version>${Junit.version}</version>
4、依赖坐标标签
1、<dependencies></dependencies>
1、<dependency></dependency>
配合gav使用
1、<scope></scope>
- compile(默认) 编译-测试-运行 logback
- test 测试 Junit
- provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
- runtime 测试-运行 jdbc驱动
- system 编译-测试 本地jar包
- import 待更新
5、打包标签
1、<packaging></packaging>
- 默认是jar,可以是war、jar、pom、ear等
6、构建标签
- 编译器的版本或者其他插件
1、<build></build>
2、<plugins></plugins>
<build>
<plugins>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-compiler-plugin</artifactid>
<version>3.8.1</version>
<configuration>
<!-- 默认是1.7 -->
<source>1.8</source> # 编译代码的jdk版本
<target>1.8</target> # 运行编译过的代码的jdk版本
</configuration>
</plugin>
</plugins>
</build>
7、继承标签
1、<parent></parent>
8、聚合标签
1、<modules></modules>
5、仓库
- 本地仓库,默认路径是 用户/用户名/.m2/repository
- 修改maven配置文件即可改变
<localrepository>路径</localrepository>
- 修改maven配置文件即可改变
- 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
- 远程仓库
6、生命周期和命令
- 需要插件的加持才能完成以下任务
- 需要在pom.xml同目录下运行命令
- 命令可以组合使用
- mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
- mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
- mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
- mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
- mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
- mvn install安装,一般以jar包的形式安装到本地仓库
- mvn deploy部署,自动部署到web容器中
- *mvn clean package清理后再打包,
7、资源处理原则
- 拷贝至target/classes/中
-
处理src/main/resource/
-
只处理src/main/java/的.java文件
-
资源插件可以解决问题2
<build> <resources> <resource> <directory>src/main/java</directory> # 过滤器要处理的目录 <includes> <include>**/*.properties</include> # 处理该目录下任意子目录的.properties文件 <include>**/*.xml</include> # 处理该目录下任意子目录的.xml文件 </includes> <filtering>false</filtering> # false不启用过滤器 </resource> </resources> </build>
8、*标准配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">
<!-- pom(project object module)模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 以下为坐标 -->
<groupId>org.example</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
1、安装
2、配置
3、约定目录结构
项目文件夹
src/
/main # 主程序目录
/java # 源代码
/resource # 资源和配置文件
/test # 测试程序目录
/java # 源代码
/resource # 资源和配置文件
pom.xml # maven核心配置文件
4、标签
1、项目标签
- project标签是根标签,后面是约束文件,限制属性和标签规则
- pom(project object module)模型版本
1、<project></project>
2、<modelVersion></modelVersion>
2、坐标标签(gav)
- 确定资源,是资源的唯一标识
- 在maven中,每个资源坐标是唯一的
1、<groupid></groupid>
- 组织名称:com.miao,一般是公司域名倒写
2、<artifiactid></artifiactid>
- 项目名称:如果groupid有项目,则是那个项目的子项目名称
3、<version></version>
- 项目版本号:一般是三位组成,格式为:主版本号.次版本号.小版本号-SNAPSHOT(接上这个,则说明该项目是不稳定版本)
3、*全局变量标签
1、<properties></properties>
-
```xml <properties> <maven.compiler.source>17</maven.compiler.source> # 源码编译jdk版本 <maven.compiler.target>17</maven.compiler.target> # 运行代码的jdk版本 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> # 项目构建时使用的编码,避免乱码 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> # 生成报告的编码(mvn test) <spring.version></spring.version> # 规定jar包的版本号,配合<version></version>标签使用 <Junit.version></Junit.version> # 规定jar包的版本号,配合<version></version>标签使用 </properties> ```
-
使用变量
<version>${spring.version}</version> <version>${Junit.version}</version>
4、依赖坐标标签
1、<dependencies></dependencies>
1、<dependency></dependency>
配合gav使用
1、<scope></scope>
- compile(默认) 编译-测试-运行 logback
- test 测试 Junit
- provided 编译-测试 server-api,即部署到服务器时,不再提供此jar包,一般是因为服务器自带这个jar包防止冲突
- runtime 测试-运行 jdbc驱动
- system 编译-测试 本地jar包
- import 待更新
5、打包标签
1、<packaging></packaging>
- 默认是jar,可以是war、jar、pom、ear等
6、构建标签
- 编译器的版本或者其他插件
1、<build></build>
2、<plugins></plugins>
<build>
<plugins>
<plugin>
<groupid>org.apache.maven.plugins</groupid>
<artifactid>maven-compiler-plugin</artifactid>
<version>3.8.1</version>
<configuration>
<!-- 默认是1.7 -->
<source>1.8</source> # 编译代码的jdk版本
<target>1.8</target> # 运行编译过的代码的jdk版本
</configuration>
</plugin>
</plugins>
</build>
7、继承标签
1、<parent></parent>
8、聚合标签
1、<modules></modules>
5、仓库
- 本地仓库,默认路径是 用户/用户名/.m2/repository
- 修改maven配置文件即可改变
<localrepository>路径</localrepository>
- 修改maven配置文件即可改变
- 中央仓库,maven社区提供依赖坐标信息[Maven Repository](Maven Repository: Search/Browse/Explore (mvnrepository.com))
- 远程仓库
6、生命周期和命令
- 需要插件的加持才能完成以下任务
- 需要在pom.xml同目录下运行命令
- 命令可以组合使用
- mvn clean(maven-clean-plugin)清理,删除原来编译和测试的目录,即target目录。但是已经install安装的是无法清理的
- mvn compile(maven-compiler-plugin和maven-resources-plugin)编译,编译文件,放到target/classes/
- mvn test-compile(maven-compiler-plugin和maven-resources-plugin)编译测试,编译测试文件,放到target/test-classes/
- mvn test(maven-surefire-plugin)测试报告,测试代码是否无误,并打出测试报告,放到target/surefire-reports/
- mvn package(maven-jar-plugin)打包,生成jar包或者war包等,由打包标签决定,打包名字:artifactid-version.packaging,放到target/
- mvn install安装,一般以jar包的形式安装到本地仓库
- mvn deploy部署,自动部署到web容器中
- *mvn clean package清理后再打包,
7、资源处理原则
- 拷贝至target/classes/中
-
处理src/main/resource/
-
只处理src/main/java/的.java文件
-
资源插件可以解决问题2
<build> <resources> <resource> <directory>src/main/java</directory> # 过滤器要处理的目录 <includes> <include>**/*.properties</include> # 处理该目录下任意子目录的.properties文件 <include>**/*.xml</include> # 处理该目录下任意子目录的.xml文件 </includes> <filtering>false</filtering> # false不启用过滤器 </resource> </resources> </build>
8、*标准配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!-- project标签是根标签,后面是约束文件,限制属性和标签规则 -->
<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">
<!-- pom(project object module)模型版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 以下为坐标 -->
<groupId>org.example</groupId>
<artifactId>Hello</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>