读书笔记-《Maven实战》-2018/4/16
第一章:Maven简介
1:Maven:Maven原本的单词意思为“知识的积累”,谷歌翻译为“行家”,而作为Apache的开源项目,Maven是一个主要服务于基于Java平台项目的构建,依赖管理和项目信息管理的跨平台的项目管理工具。
第二章:Maven配置
2:Maven安装成功成功后,会有两处可以配置Maven的地方,一个是Maven安装目录下的apache-maven-3.5.2/conf/setting.xml 一个是~/.m2/setting.xml .修改配置的时候,最好修稿.m2目录下的setting.xml,避免在更新Maven的时候,覆盖掉以前的配置和影响到其他用户的Maven配置。
第三章:Maven入门
3:Maven可以使用<proxies> 节点配置代理访问Maven目录
4:在pom.xml中。在<project>节点配置与POM相关的命名空间和xsd元素,便于让ide识别这是一个POM,便于语法检查。
5:POM是Project Object Model(项目对象模型)的简写。
6:POM中,使用groupId,artifactId,version定义一个项目
groupId:组id,比如org.springframework.boot
artifactId:工程id,比如 spring-boot-starter-parent
version:版本号,比如1.5.10.RELEASE
groupId和artifactId的关系为:很多个artifactId构建成一个group,比如org.springframework.boot下面包括了spring-boot-starter-parent,spring-boot-starter-web等。
7:<name>元素,项目详细名称.
8:Maven编译命令:
mvn clean compile
9:Maven依赖节点
<dependencies>
<dependency>
<dependency>
</dependencies>
10:dependency元素:<scope> 表示依赖范围/compile/test/privoder
11:Maven在打包的时候,会自动执行单元测试(@Test),若未通过单元测试,则构建失败,因此使用Maven可以很好很方便的单元测试,同时单元测试也很重要!
也可以使用命令
mvn clean test
进行单元测试。
12:由于历史原因Maven核心插件compiler默认只支持Java 1.3(Maven2 JDK 1.3,Maven3 JDK 1.5) 因此,
在POM中,最好加入<build>节点指定编译的JDK版本:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<condifuration>
<source>1.5</source>
<target>1.5</target>
</condifuration>
</plugin>
</plugins>
</build>
13:Maven打包命令
Maven clean package
14:Maven打包之前会执行:编译、测试
测试之前会执行:编译
15:Maven本身是一个插件框架,Maven的每个命令都是运行一个插件:比如
Maven clean test //clean:clean
//resources:resources
//compiler:compile
//resources:testResoures
16:使用Maven Archetype能够快速生成项目骨架
mvn archetype:generate
读书笔记-《Maven实战》-2018/4/16的更多相关文章
- AngularJS in Action读书笔记6(实战篇)——bug hunting
这一系列文章感觉写的不好,思维跨度很大,原本是由于与<Angularjs in action>有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总 ...
- 学习笔记——Maven实战(四)基于Maven的持续集成实践
Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...
- 学习笔记——Maven实战(六)Gradle,构建工具的未来?
Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基本上是Java构建的事实标准,但我们 ...
- 学习笔记——Maven实战(七)常用Maven插件介绍(上)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...
- 学习笔记——Maven实战(八)常用Maven插件介绍(下)
我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...
- 学习笔记-[Maven实战]-第三章:Maven使用入门(1)
说明:[Maven实战]一书还介绍了怎么样手工创建Maven工程,学习这本书是为了能尽快在工作中使用,就忽略了手工建工程的部分 如果想了解这部分的内容,可以自己看看书 开始: 1.新建一个maven工 ...
- (一)《Maven实战》读书笔记 —— Maven简介
第一章:Maven简介 一.何为Maven? Maven这个词可以翻译为"知识的积累",本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个个颇为成功的开源项 ...
- 学习笔记——Maven实战(一)坐标规划
坐标是什么?为什么要规划? 坐标是Maven最基本的概念,它就像每个构件的身份证号码,有了它我们就可以在数以千万计的构件中定位任何一个我们感兴趣的构件.举个最简单的例子,如果没有坐标,使用JUnit的 ...
- 学习笔记——Maven实战(二)POM重构之增还是删
重构是广大开发者再熟悉不过的技术,在Martin Fowler的<重构——改善既有代码的设计>一书中,其定义为“重构(名词):对软件内部结构的一种调整,目的是在不改变软件之可察行为前提下, ...
- 学习笔记——Maven实战(三)多模块项目的POM重构
重复,还是重复 程序员应该有狗一般的嗅觉,要能嗅到重复这一最常见的坏味道,不管重复披着怎样的外衣,一旦发现,都应该毫不留情地彻底地将其干掉.不要因为POM不是产品代码而纵容重复在这里发酵,例如这样一段 ...
随机推荐
- maven入门(8)maven的依赖管理
我们项目中用到的jar包可以通过依赖的方式引入,构建项目的时候从Maven仓库下载即可. 1. 依赖配置 依赖可以声明如下: <project> ... <dependenci ...
- 新概念英语(1-71)He's awful!
He's awful!How did Pauline answer the telephone at the nine o'clock?A:What's Ron Marston like, Pauli ...
- Python基础学习篇章四
一. Python数据类型之字典 1. 键的排序:for循环 由于字典不是序列,因此没有可靠的从左至右的顺序.这就导致当建立一个字典,将它打印出来,它的键也许会以与我们输入时的不同的顺序出现.有时候我 ...
- django模版中配置和使用静态文件方法
1 在项目根路径下创建静态文件目录static: test3 是我的项目名,根目录下面: booktest 是一个应用 static是我建立的静态文件目录(这个名字其实可以叫其他的),静态文件都放在这 ...
- Linux命令基础
开启Linux操作系统,root用户登录GNOME图形界面,如下图: 切换到虚拟终端2,使用普通用户身份登录,查看系统提示符,如下图: 使用命令退出虚拟终端2上的登录用户,如下图: 切换到虚拟终端5, ...
- JSON定义
如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如xml,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过 ...
- jacascript 事件对象event
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 在触发DOM上的某个事件时,会产生一个事件对象 event,这个对象中包含着所有与事件有关的信息.所有浏览 ...
- 【基础】在css中绘制三角形及相关应用
简言 本文简要阐述了用CSS边框的方法在页面上绘制三角形,包括几种典型的三角形绘制,还介绍了几个简单的应用场景.利用边框绘制三角形方法只是众多方案中的一种,大家根据项目实际,选用最适宜项目的方案. 1 ...
- 【图解数据结构】 栈&队列
[TOC] 勤于总结,持续输出! 1.栈 1.1栈的定义 栈(stack)是限定在表尾进行插入和删除的操作的线性表. 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不包 ...
- [LeetCode] My Calendar III 我的日历之三
Implement a MyCalendarThree class to store your events. A new event can always be added. Your class ...