maven 配置和常用命令
1. maven:
项目管理器,采用“约定优于配置(COC)”的策略来管理项目。它不仅用于把源代码构建成可发布的项目(包括编译、打包、
测试和分发),还可以生成报告,生成Web站点。
maven的主要约定:
- 源代码应该位于’${basedir}/src/main/java’
- 资源文件应该位于’${basedir}/src/main/resources’
- 测试代码应该位于’${basedir}/src/test’
- 编译生成的class文件应该位于’${basedir}/target/classes’
2. maven目录:
- bin:保存maven的可执行命令
- boot:只包含一个plexus-classwords-2.5.1.jar(类加载框架),maven使用此加载框架加载自己。
- conf:保存配置文件的目录,包括setting.xml,配置全局行为
- lib:包含所有maven运行时需要的类库
3. 配置环境变量:
- 安装JDK
- 配置环境变量:
‘path’:jdk安装目录下bin的路径,如”E:\java\jdk\jdk1.7.0_40\bin“
‘classpath:’jdk安装目录下的lib路径,如”.;E:\java\jdk\jdk1.7.0_40\lib“(”.;”表示当前路径)
‘JAVA_HOME’jdk安装路径,如:”E:\java\jdk\jdk1.7.0_40“ - 测试,打开cmd,输入’java’或者’javac’或者’java -version’成功运行,则安装成功
- 安装maven
- 配置环境变量:
‘path’maven安装目录下bin的路径,如:”D:\apache-maven-3.3.3\bin”
‘M2_HOME’maven安装路径,如”D:\apache-maven-3.3.3“ - 测试,打开cmd,输入’mvn help:system’,看到maven不断从网络上下载各种文件,然后显示
‘System Properties’和’Enviroment Variables’,则安装成功
4. 设置maven(包括设置本地仓库路径):
- 全局方式:在maven安装目录下config\setting.xml文件进行设置
- 当前用户方式:通过用户Home中的setting.xml文件进行配置,Windows用户在C:\Users\administor中
- ’localRepository’设置maven的本地仓库路径
- ‘interactiveMode’设置maven是否处于交互模式,‘false’maven不会提示用户输入,而是智能采用默认值,
‘true’每当maven需要用户输入时,都会提醒用户输入 - ‘offline’设置maven是否处于离线状态,’false’找不到插件,依赖包时从网络上下载
- ‘proxies’为maven设置代理服务器
5. maven命令:
maven主要的命令mvn,基本格式:'mvn <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>:<goal>]'
- mvn compile 编译项目的源代码,第一次运行compile,会看到maven不断地从网络下载compile插件的各种文件
- mvn test 单元测试
- mvn package 项目打包
- mvn install 安装到本地仓库
- mvn deploy 部署到远程仓库
- mvn site 生成站点
6. maven的生命周期:
指maven构建项目包括多个有序的阶段,被称为phase,每个生命周期由多个阶段组成,maven生命周期中的各个阶段
总是按顺序、依次执行。
maven包括三个基本的生命周期:
- clean:构建项目之前进行清理工作
- default:包括compile-test-package-install-deploy等,当mvn执行上面的某个阶段是会先执行此阶段之前的阶段,
比如,执行’mvn install’,会先从clean开始执行,一直执行到install - site:用于生成项目报告站点,发布站点。
7. maven的坐标:为项目提供唯一标识
- groupId:该项目的开发者域名
- artifactId:指定项目名
- packaging: 指定项目打包的类型比如:jar,war
- version: 指定项目的版本
. 使用maven创建、构建简单的项目
- mvn archetype:generate -DinteractiveMode=false -DgroupId=com.zxy -DartifactId=mavenTest
-Dpackage=com.zxy.mavenqs 生成一个mavenTest的文件夹,就是相关文件 - 在pom.xml所在文件夹运行mvn compile
- 执行 mvn exec:java -Dexec.mainClass=”com.zxy.mavenTest.App”(需要使用maven的exec插件)