一、maven的基本概念及常用命令
1.是什么
一个软件项目管理及自动构建工具
工具
- 依赖管理工具
- 构建工具
- 项目信息聚合工具等
2.特点
-
项目设置遵循统一原则
-
基于模型构建
-
项目信息一致性站点
-
向后兼容
-
并行构建
-
更好的错误报告
3.基本概念
- 生命周期(lifecycle)
- 启动->编译->测试->测试->打包->集成测试->安装->部署
- mvn compile | test | package | install | deploy | clean | archetype:generate
- default clean site
- 坐标:groupId、artifactId、version、type、classfier、scope
- 依赖范围:comile | provided提供的依赖(Servlet-API) | test(JUnit) | system |runtime(MySql/JDBC)
- 依赖传递:自动将所依赖的组件的子依赖引入到本项目中
- 简单依赖传递:A->C
- 最短路径优先:A->C(0,2)
- 第一声明优先原则C(0.1)
- 依赖归类
<properties>
<spring.version>2.5</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>
- 继承
- 父maven项目通过dependenciesManagement定义公共依赖
- 子maven项目中通过dependencies中定义公共依赖
- 插件/properties都可以继承
- 仓库 repository
- 本地->私服->中央 local->private->central
- 常用命令
-
alias mvni='mvn -T 1C clean install -Dmaven.test.skip=true'
alias mvnp='mvn -T 1C clean package -Dmaven.test.skip=true'
alias mvnv='mvn versions:set -DgenerateBackupPoms=false'
alias mvnd='mvn -T 1C clean deploy -Dmaven.test.skip=true'
alias mvndd='mvn -T 1C clean deploy -P dev -Dmaven.test.skip=true'
alias mvndo='mvn -T 1C clean deploy -P online -Dmaven.test.skip=true'
alias mvnc='mvn -T 1C clean eclipse:clean idea:clean'
-
-
项目结构
-
{project}
-
src
-
main
-
java java源码
-
webapp web内容目录
-
resources 资源目录:配置文件
-
-
-
pom.xml
-
-