下载安装 官网:maven.apache.org/ 下载地址:maven.apache.org/download.cg… 环境变量配置 依赖 Java,需要配置 JAVA_HOME 配置 MAVEN_HOME 测试:mvn 配置 更改本地仓库位置
下载安装
- 官网:maven.apache.org/
- 下载地址:maven.apache.org/download.cg…
环境变量配置
- 依赖 Java,需要配置 JAVA_HOME
- 配置 MAVEN_HOME
- 测试:mvn
配置
更改本地仓库位置
- settings.xml
镜像仓库配置
- setting.xml
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
Maven 命令
- 编译命令:mvn compile
- 清理命令:mvn clean
- 测试命令:mvn test
- 打包命令:mvn package
- 安装到本地仓库:mvn install
Maven 工程
插件创建工程
- 创建工程
-DgroupId={project-packaging}
-DartifactId={project-name}
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false
- 创建 Java 工程
- 创建 web 工程
IDEA 创建 Maven 工程
- 创建一个 Empty Project
- 在 settings 中修改为自己的路径
- 创建一个 maven module
骨架创建 Maven 工程
- new module
Web 工程
- new module
依赖管理
- 依赖传递
- 直接依赖:在当前项目中通过依赖配置建立的依赖关系
- 间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
- 依赖传递冲突问题
- 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
- 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
- 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的
- 依赖范围
- 依赖范围传递性
生命周期与插件
构建项目生命周期
- clean:清理工作
- pre-clean:执行一些需要在clean之前完成的工作
- clean:移除所有上一次构建生成的文件
- post-clean:执行一些需要在clean之后立刻完成的工作
- default:核心工作,例如编译、测试、打包、部署等
- site:产生报告,发布站点等
插件
- 插件与生命周期内的阶段绑定,在执行到对应的生命周期时执行对应的插件功能
- 默认maven在各个生命周期上绑有预设的功能
- 通过插件可以自定义其他功能
- eg
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>