maven流程
maven的理想
理想:像一种什么设计模式?---模板方法模式
---------------自动走完标准的构建流程:清理à编译à測试à报告à打包à部署
---------------统一入口,所有配置在一个pom里搞定
maven的约定
约定的目录(不可改):
src/main/java –存放项目的.java文件 |
src/main/resources –存放项目资源文件。比方spring,hibernate配置文件 |
src/test/java –存放全部測试.java文件,比方JUnit測试类 |
src/test/resources ---測试资源文件 |
target ---项目输出位置,编译完毕后的东西放到这里面 |
pom.xml |
maven的生命周期
maven的构建生命周期,只是一个抽象规范流程。周期内的每个阶段的具体执行,是在插件里来实现。
各个生命周期预设的定义如下:
阶段 |
处理 |
描述 |
验证 validate |
验证项目 |
验证项目是否正确且所有必须信息是可用的 |
编译 compile |
执行编译 |
源代码编译在此阶段完成 |
测试 Test |
测试 |
使用适当的单元测试框架(例如JUnit)运行测试。 |
包装 package |
打包 |
创建JAR/WAR包如在 pom.xml 中定义提及的包 |
检查 verify |
检查 |
对集成测试的结果进行检查,以保证质量达标 |
安装 install |
安装 |
安装打包的项目到本地仓库,以供其他项目使用 |
部署 deploy |
部署 |
拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程 |
运行任何一个阶段,都会从其所在生命周期的第一个阶段开始,顺序执行到指定的阶段,如:
mvn package --- 本义:执行default周期的package阶段,maven会自动从process-resources阶段开始运行到package阶段结束