1 Maven的核心pom.xml文件
1.1 基本信息
标识 |
解释 |
modelVersion |
Maven模型的版本,对于Maven2和Maven3来说,它只能是4.0.0 |
groupId |
组织id,一般是公司域名的倒写(xyz.cqulwj),或者加项目名(xyz.cqulwj.Demo01) |
artifactId |
项目名称,是groupId的子项目 |
version |
项目的版本号,一般是三位数字,例如1.1.0 |
packaging |
项目打包类型,可以是jar、war、rar、ear、pom 默认jar |
其中 groupId、artifactId、version 构成项目的坐标(唯一标识)
1.2 依赖
标识 |
解释 |
dependencies/Dependency |
项目要使用的各种资源说明。例如mysql驱动。其中<scope>test</scope>为依赖起作用的阶段。值有compile、test、provided三种 |
依赖的范围:
—— |
compile |
test |
provided |
对主程序是否有效 |
是 |
否 |
是 |
对测试程序是否有效 |
是 |
是 |
是 |
是否参与打包 |
是 |
否 |
否 |
是否参与不熟 |
是 |
否 |
否 |
1.3 配置属性
标识 |
解释 |
properties |
定义一些配置属性。如编码方式urf-8 |
1.4 构建
标识 |
解释 |
build |
Maven在进行项目构建时的配置信息。如jdk版本等 |
1.5 继承
build
1.6 聚合
modules
2 Maven常用命令
命令 |
功能 |
Mvn compile |
编译主程序(当前目录生生target) |
Mvn clean |
清理,删除编译生成的目录,但是仓库的包不会删除 |
Mvn test-compile |
编译测试程序,生成target,但是是测试程序 |
Mvn test |
执行测试,生成测试报告,surefire-reports,保存测试结果 |
Mvn package |
打包主程序,按照配置生成jar包或者war包 |
Mvn install |
安装主程序,把本工程打包,按照坐标安装到本地仓库 |
Mvn deploy |
部署主程序,打包->放到本地库->保存到私服->部署到web容器 |
3 一些知识点
3.1包管理查找逻辑:本地仓库->私有仓库->远程镜像->中央仓库。
3.2配置中可以定义全局变量,如<name>1.0.2</name>,然后用${name}使用。
3.3在编译时,默认不会处理main/java中的非.java文件,如果要,在pom中配置resource。
4 常用配置
4.1 javaSE打包jar程序
<build>
<plugins>
<!--普通Java程序的打包程序-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<!--主类入口-->
<mainClass>xyz.cqulwj.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
4.2 Spring boot打包jar程序
<build>
<plugins>
<!--创建可执行的jar包-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>