1. maven简介及优势
maven是一个项目构建和管理的工具,提供了帮助管理 构建、文档、报告、依赖、scms、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。maven的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性利用maven自身及其插件还可以获得代码检查报告、 单元测试覆盖率、实现持续集成等等。
maven优势:
- 1. 项目自动化编译部署
- 2. 项目jar包的依赖管理
- 3. 项目的插件管理
2. maven安装
2.1 下载并解压Maven3;
2.2 解压maven,重命名文件夹为maven-3.3.1,设置maven环境变量
安装目录: D:\tool\
环境系统变量 : MAVEN_HOME= D:\tool\maven-3.3.1 PATH= %MAVEN_HOME%/bin;
2.3 安装完成,查看安装是否成功 mvn -v
3. maven系统配置
3.1 配置文件
文件路径:%MAVEN_HOME%/conf/setting.xml
配置本地仓库:localRepository节点,<localRepository>D:/dev/maven3Repository</localRepository>
中央仓库镜像:mirrors节点,可配置自己的中央仓库 (不配置的话 首次依赖默认会从官网下载maven依赖插件)
setting.xml配置文件:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <!-- 配置本地仓库 --> <localRepository>D:/dev/maven3Repository</localRepository> <mirrors> <!-- 默认走maven中央仓库 http://search.maven.org/,如果配置走镜像仓库 <mirror> <id>indexNexus</id> <url>*****</url> <mirrorOf>central</mirrorOf> </mirror> --> <!-- 阿里云 Maven 镜像 --> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors> </settings>
4. maven jvm配置
在%M2_HOME%\bin 目录下找到文件mvn.bat,在MAVEN_OPTS下可配置maven jvm启动参数:
set MAVEN_OPTS=-Xmx1024m -Xms1024m -Xmn512m -Xss512k -XX:+DisableExplicitGC -XX:MaxPermSize=256m
5. maven项目约定
约定大于配置:项目约定主要是规范开发人员编程,统一项目风格,简化操作和代码量。
maven也是这样的,约定如下图:
目录结构,其中pom.xml在其项目的根目录
6. maven常用命令
6.1 项目骨架是根据maven项目约定的规则来创建项目目录结构和资源文件
1). 快速创建项目命令:
mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=项目组 -DartifactId=项目名/模块名 -Dversion=1.0-SNAPSHOT -Dpackage=com.*.*
2). 按模板向导创建:
生成java项目:
mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-quickstart
生成web项目:
mvn archetype:generate -DarchetypeCatalog=internal -DarchetypeArtifactId=maven-archetype-webapp
根据提示向导 填入groupId (项目组名) artifactId(项目唯一标示) version(版本号),这三个属性定义成maven的仓库中坐标:
6.2 常用命令
mvn archetype:generate 构建项目 mvn clean 项目清理 mvn compile 项目源代码的编译 mvn test 项目单元测试的编译 mvn package 项目打包 mvn install 发布项目提交到本地仓库 mvn deploy 发布项目到 mvn jetty:run : 启动jetty容器 mvn eclipse:clean : 清除eclipse的一些系统设置 mvn eclipse:eclipse : 生成 Eclipse 项目文件
6.3 实用命令
mvn dependency:tree 查看依赖树 mvn assembly:assembly 需要配assembly插件,可用于把指定文件进行打包 tar.gz,zip包 指定maven参数: -DskipTests=true 默认不走单元测试 -P local 选择资源文件类型 local,需在pom开启资源配置