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中的声明,并执行相应的插件
Maven 学习笔记的更多相关文章
- Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
- Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试
现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...
- Maven学习笔记—仓库
Maven仓库 1 什么是Maven仓库 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以成为构件,而Maven通常在某个位置统一的存储所有Maven项目共享的构件,这个统一的位置就是Ma ...
- MAVEN学习笔记之Maven插件的应用(4)
MAVEN学习笔记之Maven插件的应用(4) <build> <pluginManagement> <plugins> <plugin> <gr ...
- MAVEN学习笔记之Maven生命周期和插件简介(3)
MAVEN学习笔记之Maven生命周期和插件简介(3) clean compile site三套生命周期相互独立. clean pre-clean 执行清理前的工作 clean 清理上一次构建生成的所 ...
- MAVEN学习笔记之私服Nexus(2)
MAVEN学习笔记之私服Nexus(2) 私有服务器搭建 Nexus www.snatype.org下载 snatype-work 是默认nexus存储nexus a:将bin添加到环境中 Admin ...
- MAVEN学习笔记之基础(1)
MAVEN学习笔记之基础(1) 0.0 maven文件结构 pom.xml src main java package resource test java package resource targ ...
- Maven 学习笔记(二)
前面一文——Maven 学习笔记(一)中已经提到了 pom 的大部分配置,Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...
- TODO maven学习笔记
maven是什么? 我的体会 我理解得maven就是一个构建工具,可以做一些项目得整合操作,我们把一些常见得操作,封装在maven里面,并给它命名成 clean,test,compile,这些步骤都是 ...
- Maven学习笔记(1)之安装Maven
此笔记是学习Maven时自己摸索+各种百度而来,并非全部原创,望与各位一同学习,勿拍~勿拍~ 安装步骤 1.下载Maven的最新版本,地址:http://maven.apache.org/downlo ...
随机推荐
- python 杂记
class TestA(object): def __init__(self): print("A is initing"); def foo(self): print(" ...
- python文件_批量改名
#! /usr/bin/env python #coding=gbk #文件操作实例--将文件夹下所有图片名称加上'_test' import re,os,time #str.split(path) ...
- Bootstrap 实例 - 模态框(Modal)插件
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- html 作业1
<body bgcolor="#000000" topmargin="200px" leftmargin="200px" text=& ...
- 关于box-sizing
http://www.zhangxinxu.com/css3/css3-box-sizing.php box-sizing:border-box; -o-box-sizing:border-box; ...
- DB2 中日期 比较
在DB2中的Date 一共识别三种格式,最常见的是这样 '2013-12-12' 对,你没看错,DB2认为这样的字符串就是Date数据 然后我们可以利用函数这样寻找日期区间 select * from ...
- Calculate Number Of Islands And Lakes 解答
Question 1 1 1 1 1 01 0 1 0 0 11 0 1 0 0 11 1 0 1 1 1 1 is earth, 0 is water. i) count the number of ...
- Check whether a given Binary Tree is Complete or not 解答
Question A complete binary tree is a binary tree in which every level, except possibly the last, is ...
- 关于部分应用无法向POJ提交代码的解决方案
有个一年没做过题了,最近有骚年反映他们的VirtualJudge无法做POJ的题目,一直都是JudgeError状态. 于是登录到那个VJudge试了试,代码的确一直无法提交成功,他们的服务器发回50 ...
- Jenkins动态部署方案
在之前一个项目开发中使用到了jenkins自动化测试,根据实际应用,简单整理了其部署方案. 1.部署 2.项目构建 3.重部署 1 部署 登录Jenkins应用管理界面 1)选中一个服务器上已在jen ...