第10章 多环境下构建项目

第10章 多环境下构建项目

本章根据实际情况,介绍多种部署环境下构建项目的配置。

在大多数公司,都会有多种项目的运行环境,例如:开发环境、测试环境、预发布环境、正式环境…
我们都会遇到这样一个问题,不同环境的一些配置是不同的,例如:数据库配置、网银接口的账号和地址配置、邮箱和短信账号配置等等。那么在maven构建项目时,需要根据不同的环境,打包不同配置。
还是用我们的crm项目进行演示,基本项目目录:

Alt text

第9章 maven的插件和生命周期

第9章 maven的插件和生命周期

本章介绍了maven生命周期、插件以及如何配置插件

9.1 生命周期

一般的项目都会经历这几个步骤:编译,测试,打包,部署,有些公司是手动方式,有些是自动化脚本方式,虽然方式类似,但不可能完全相同。maven对这些工作进行抽象和统一,总结了一套完善的生命周期。

第8章 私服nexus

第8章 私服nexus

本章详细介绍了nexus的安装过程,设置maven从私服下载构件,以及发布构件至nexus。

8.1 什么是nexus

nexus是一个web版的仓库管理软件

8.2 nexus安装

nexus安装非常简单。
下载地址:http://www.sonatype.org/nexus/go

本文以Linux环境为例,安装nexus:

  1. 首先在/usr/local下建nexus目录
  2. 将下载的zip包解压,将其中的nexus-2.11.4-01解压至nexus如图:

Alt text

  1. 进入bin目录,将nexus设置为可执行权限:

cd bin

chmod +x nexus

Alt text

第7章 仓库

第7章 仓库

本章介绍了maven的仓库概念,仓库分类等内容。

7.1 何为maven仓库

maven仓库就是放置所有jar文件(war,zip,pom等等)的地方,maven项目可以从maven仓库中获取自己所需要的依赖jar。此外,仓库中的构件都有自己的坐标,坐标描述了版本、打包方式和maven如何找到此构件。

7.2 仓库的分类

7.2.1 本地仓库

在第一章安装maven时,我们已经设置了maven本地仓库,那么现在,详细说一说为什么要设置本地仓库。
在maven项目中,是没有lib目录来存放依赖文件的,如果pom.xml中需要依赖,在编译或测试时,maven会自动基于坐标使用本地仓库的依赖文件。
默认情况,maven本地仓库位置在用户根目录的.m2文件夹中。
某些情况下,例如c盘不足,我们需要设置仓库位置。

第6章 maven聚合特性

第6章 maven聚合特性

本章用一个例子介绍maven的聚合特性。

6.1 什么是聚合

在上一章中,我们讲解了maven的继承特性,他可以使子项目直接引用父项目定义的依赖和插件。那么,如果有多个子项目,如何通过父项目进行管理,这就需要考虑使用聚合特性。所以,maven聚合特性可以把多个项目模块聚合在一起构建。

第5章 maven继承特性

第5章 maven继承特性

本章尽量用通俗的语言来介绍maven的继承特性。

5.1 什么是继承特性

在代码中,child类继承了parent类,那么child具有父类的所有属性。
在maven中也类似,父项目pom文件中定义的属性、依赖等配置都可以让子项目pom继承。

第4章 maven依赖特性

第4章 maven依赖特性

本章详细介绍maven的依赖特性和依赖范围,如何排除依赖。

4.1 什么是依赖传递

举个例子
在非maven项目中,你需要使用spring功能,你会想到导入spring的jar包,那么,srping又需要其他依赖jar包支持,所以你又需要去导入其他jar包,多次反复尝试启动项目后,你终于成功了!
maven项目就不需要这么麻烦,你只要在pom.xml文件中,引入spring相关配置,那么他会自动引入其他依赖jar包,这就是maven的依赖传递。

第3章 一切基于pom

第3章 一切基于pom

本章介绍了maven的核心pom.xml作用,详细描述了maven坐标变量。

3.1 什么是pom.xml

POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。maven项目中,除了一堆代码文件和跟项目有关的依赖文件外,还会包含一个pom.xml配置文件,这个文件配置了maven打包、编译、版本、路径等等的信息。其实,maven项目可以什么都没有,甚至没有代码,但是必须包含pom.xml文件。

第1章 maven概览及快速入门

第1章 maven概览及快速入门

本章以尽可能简单、通俗易懂的语言介绍了maven,以及maven的安装和入门操作命令。

1.1 什么是maven

比较正式语言:

  • maven是一个项目构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署;
  • maven不仅是构建工具,还是一个依赖管理和项目信息管理工具.还提供了中央仓库,能帮我们自动下载依赖包。