【转】Maven 学习笔记
1. Maven 工具的意义:
从事软件开发,无论什么样的项目,什么样的技术,都要经历:编码、测试、打包、发布等几个特定过程,而这些过程在软件开发周期中都是重复的、繁琐的。Maven的出现是为了将开发人员从这些繁琐的工作解脱出来。
2. Maven 能做什么
Maven是由早期为Jakarta Turbine定制的构建工具发展而来的,现在成为了一个独立的软件项目管理工具。
a. 理解并管理整个软件的开发周期,重用标准的构建过程,如:编译、测试、打包等。同时Maven还可以通过相应的元数据,重用构建逻辑到一个项目中;
b. Maven负责整个项目的构建过程,开发人员只需要描述项目基本信息在一个配置文件中: pom.xml。也就是说,Maven的使用者只需要回答 “What” 而不是 “How”。
3. Maven并不只是一个构建工具,它还可以提供的功能:
a. 声明式依赖型管理
b. 集中的组件库管理
c. 文档的自动形成
d. 报告的自动生成
4. Maven的设计原则
4.1. 标准的Maven目录如下:
a. src:源代码目录,所有的源代码都放在这个目录下,这个目录下又包括了:
a1. main:所有的源代码都放在这里,对于Java项目,还有一个下级子目录:java.***
a2. test:所有的单元测试类放在这里
b. target:所有编译过得类文件以及生成的打包文件(.jar/.war/...),放在这里
4.2. Resue build logic(重用构建逻辑):Maven把构建逻辑封装到插件中来达到重用的目的,这样在Maven就有用于编译的插件,单元测试的插件、打包的插件等,Maven可以被理解成管理这些插件的框架
4.3. Declarative Execution(声明式执行):Maven中所有的插件都是通过在Pom中声明来定义的,Maven会理解所有在pom中的声明,并执行相应的插件
- 推荐文章
- sql查询题目
- java程序结构
- 背包问题
- 只有变是不变的
- IntelliJ Idea 2017 注册码 免费激活方法
- Javaweb 项目内所有页面都是404问题
- 今天出现了一个问题,Tomcat 进入localhost:8080正常,进入项目内别的页面都是空白页
- 关于SQL语句条件值写中文查不到的问题
- nginx加大缓存
- tomcat编码错乱问题
- echart 地图选择器
- MYSQL文件复制及备份
- java 接口 文件传输
- 内网开放域名权限
- mybatis 新增返回id
- nginx 502 错误
- nginx跨域问题
- 线程池
- Linux 部署 rabbitMQ集群
- Linux 部署redis集群
- Linux 部署 nginx
- Linux 部署vue项目(使用nginx)
- git 操作规范
- mysql grant权限分配(转)。
- 前端优化,包括css,jss,img,cookie
- 关于js里的那一堆事件
- 个人作业——软件工程实践总结作业
- Unity3D 快捷键
- Beta冲刺第二天
- Beta冲刺第一天