【转】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中的声明,并执行相应的插件
关于 HIVE Beeline 问题
HIVE 简单总结
值得一提:关于 HDFS 的 file size 和 block size
Hadoop作业优化
一篇文章,掌握所有开源数据库的现状
dfs.replication 参数 动态修改
Hadoop YARN ERROR 1/1 local-dirs are bad *, 1/1 log-dirs are bad *
Hadoop 中关于 map,reduce 数量设置
CentOS ulimit
- 最新文章
-
jquery.rotate.js库中的rotate函数怎么用。
微信开放平台API开发资料
大型网站的架构设计图分享
set_include_path — 设置 include_path 配置选项为当前脚本设置 include_path 运行时的配置选项。
php中的curl】php中curl的详细解说
Window下memcached安装与测试步骤
phpize的深入理解
mime类型表
PHP serialize & JSON 解析
微信支付 APP 支付方式的服务器端处理程序
- 热门文章
-
Codeforces Round #381 (Div. 2) D dfs序+树状数组
ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) A map B贪心 C思路前缀
Codeforces Round #401 (Div. 2) A B C 水 贪心 dp
HDU 4417 离线+树状数组
Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) A B 水 搜索
Codeforces Round #307 (Div. 2) D 矩阵快速幂+快速幂
HDU 4549 矩阵快速幂+快速幂+欧拉函数
Codeforces Round #398 (Div. 2) A B C D 模拟 细节 dfs 贪心
HDU 3507 斜率优化dp
Codeforces Round #396 (Div. 2) A B C D 水 trick dp 并查集