【转】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中的声明,并执行相应的插件
如何构建可伸缩的Web应用?
2020年软件开发趋势
3种基础的 REST 安全机制
为什么你应该使用 Kubernetes(k8s)
Elasticsearch:是什么?你为什么需要他?
你在使用什么 Redis 客户端工具?
ZooKeeper 并不适合做注册中心
Jmeter(三)_配置元件
Jmeter(二)_基础元件
- 最新文章
-
Leetcode 515. 在每个树行中找最大值
Leetcode 105. 从前序与中序遍历序列构造二叉树
Leetcode 144. Binary Tree Preorder Traversal
Leetcode 113. Path Sum II
Leetcode 257. Binary Tree Paths
Leetcode 75. 颜色分类
Leetcode 81. 搜索旋转排序数组 II
Leetcode 33. Search in Rotated Sorted Array
Leetcode 107. Binary Tree Level Order Traversal II
小白scrapy爬虫简单例子之下载百度贴吧爱豆东方神起照片