第一章: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的更多相关文章

  1. AngularJS in Action读书笔记6(实战篇)——bug hunting

    这一系列文章感觉写的不好,思维跨度很大,原本是由于与<Angularjs in action>有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总 ...

  2. 学习笔记——Maven实战(四)基于Maven的持续集成实践

    Martin的<持续集成> 相信很多读者和我一样,最早接触到持续集成的概念是来自Martin的著名文章<持续集成>,该文最早发布于2000年9月,之后在2006年进行了一次修订 ...

  3. 学习笔记——Maven实战(六)Gradle,构建工具的未来?

    Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基本上是Java构建的事实标准,但我们 ...

  4. 学习笔记——Maven实战(七)常用Maven插件介绍(上)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven-compiler-plugin完成的.进一步说,每个任务对应了 ...

  5. 学习笔记——Maven实战(八)常用Maven插件介绍(下)

    我们都知道Maven本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给插件来完成,例如编译源代码是由maven- compiler-plugin完成的.进一步说,每个任务对应 ...

  6. 学习笔记-[Maven实战]-第三章:Maven使用入门(1)

    说明:[Maven实战]一书还介绍了怎么样手工创建Maven工程,学习这本书是为了能尽快在工作中使用,就忽略了手工建工程的部分 如果想了解这部分的内容,可以自己看看书 开始: 1.新建一个maven工 ...

  7. (一)《Maven实战》读书笔记 —— Maven简介

    第一章:Maven简介 一.何为Maven? Maven这个词可以翻译为"知识的积累",本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个个颇为成功的开源项 ...

  8. 学习笔记——Maven实战(一)坐标规划

    坐标是什么?为什么要规划? 坐标是Maven最基本的概念,它就像每个构件的身份证号码,有了它我们就可以在数以千万计的构件中定位任何一个我们感兴趣的构件.举个最简单的例子,如果没有坐标,使用JUnit的 ...

  9. 学习笔记——Maven实战(二)POM重构之增还是删

    重构是广大开发者再熟悉不过的技术,在Martin Fowler的<重构——改善既有代码的设计>一书中,其定义为“重构(名词):对软件内部结构的一种调整,目的是在不改变软件之可察行为前提下, ...

  10. 学习笔记——Maven实战(三)多模块项目的POM重构

    重复,还是重复 程序员应该有狗一般的嗅觉,要能嗅到重复这一最常见的坏味道,不管重复披着怎样的外衣,一旦发现,都应该毫不留情地彻底地将其干掉.不要因为POM不是产品代码而纵容重复在这里发酵,例如这样一段 ...

随机推荐

  1. SpringCloud的应用发布(一)SpringCloud的样例工程

    前言 这个综合例子创建了 6个微服务应用 一个服务注册中心 SvcReg(EurekaServer),生产中要考虑高可用 一个配置中心 CfgMgr + git目录存储配置(ConfigServer, ...

  2. Java-NIO(一):简介

    Java NIO简介: Java New IO Non Blocking IO,从java1.4版本就开始引入了新的IO API,可以替代标准的Java IO API.NIO与原来的IO有同样的作用和 ...

  3. 使用 C# (.NET Core) 实现命令设计模式 (Command Pattern)

    本文的概念内容来自深入浅出设计模式一书. 项目需求 有这样一个可编程的新型遥控器, 它有7个可编程插槽, 每个插槽可连接不同的家用电器设备. 每个插槽对应两个按钮: 开, 关(ON, OFF). 此外 ...

  4. Bank方案SQL

    用于演示的Bank方案对应的SQL: /* 1.branch 开展银行交易业务的场所 */ DROP TABLE IF EXISTS branch; CREATE TABLE branch -- 开展 ...

  5. MyBatis(1)——快速入门

    MyBatis 简介 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为 ...

  6. C# GetValue 正则获取开始结束代码

    /// <summary> /// 获得字符串中开始和结束字符串中间得值 /// </summary> /// <param name="str"&g ...

  7. 【推荐】CentOS安装gcc-4.9.4+更新环境+更新动态库

    注:以下所有操作均在CentOS 6.8 x86_64位系统下完成. CentOS上yum安装的gcc版本过低(4.4.7),在安装某些软件的时候不支持,所以这里需要对其进行升级. #gcc的安装# ...

  8. Plupload 上传控件使用指南

    本文转载至(感谢原作者分享):http://www.cnblogs.com/2050/p/3913184.html#plupload_doc2 我之前写过一篇文章<文件上传利器SWFUpload ...

  9. java代码优化细节

    在代码线上运行的过程中,往往会出现很多我们意想不到的错误,不少错误定位到最后往往是一个非常小的原因导致的.然而因为线上环境和开发环境是非常不同的,为了解决一个错误,我们需要先查找错误原因.修改验证.打 ...

  10. 【linux之sed及vim】

    一.sed sed 文本处理工具 流编辑器 行编辑器保留空间模式空间sed不会影响原文件的内容,它处理的是它载入模式空间的内容 sed [options].."AddressCommand& ...