Maven介绍
【定义】
Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理
【maven项目目录结构】
src/main/java 存放项目的java文件
src/main/resources 存放项目的资源文件,如spring的配置文件等
src/test/java 存放所有用来测试的java文件
src/test/resources 存放测试用的资源文件
target 项目输出位置
pom.xml 文件
【pom文件结构】
groupId |
这是项目组的编号,这在组织或项目中通常是独一无二的。 |
artifactId |
这是项目的ID。这通常是项目的名称。 例如,springboot-hello. 除了 |
version |
这是项目的版本。与 |
packaging |
定义当前项目的打包方式 |
【maven常用命令】
mvn compile :编译项目,并生成target目录,里面存放编译出来的class文件
mvn clean :清除之前编译生成的target目录
mvn package :编译并打包,生成的jar包在target目录下
mvn install:将编译打出来的jar包发布到本地仓库(settings.xml文件中配置的本地仓库地址)中去
【maven的继承】
一句话总结:maven父项目的packaging(打包方式)使用pom,子项目选用jar或者war,添加了父工程后,子工程pom文件中会多一个parent选项,会将父类工程所依赖的jar包添加到自己工程相对应目录下
【maven冲突解决】
Web工程依赖两个不同的,maven项目,依赖同一个artifactId但是版本不同,这时候就会产生mavenjar依赖冲突问题
【Maven下包流程】
Settings.xml文件中如果有配置私服地址的话就去师傅地址去下载jar包,没有的话会直接从中央仓库去取jar包
【常见错误】
1.pom.xml文件中报错:web.xml is missing and <failOnMissingWebXml> is set to true
原因:Maven不支持缺少web.xml的web项目
解决方案:可以在src\main\webapp下面新建WEB-INF文件夹和web.xml
2.No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
解决方案:更换本地jdk