目录
1、maven概述
1.1、maven是什么
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
2、maven的安装与下载
下载链接:
下载完毕后,解压maven工具包
3、配置环境变量
配置M2_HOME:设置maven的主目录
配置Path: 设置%M2_HOME%/bin:加入到path环境变量中
环境搭建ok
3、maven目录介绍
4、本地仓库
5、jdk配置
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
6、镜像配置
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
7、手动搭建一个maven类型的项目
1、安装以下目录创建一个maven工程
配置项目的主pom文件
<?xml version="1.0" ?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.luke.maven</groupId>
<artifactId>hello</artifactId>
<version>1.0.0</version>
<name>hello</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.0</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
2、在主类与测试类中添加相关代码
3、开始使用maven进行执行操作。执行maven命令时候到项目的根目录。
Mvn compile命令,自动帮助我们下载该命令的相关插件。
Mvn clean:清理命令
Mvn-test-compile命令
Mvn test命令
8、常用命令介绍
常用命令:
【1】mvn clean:清理
【2】mvn compile:编译主程序
【3】mvn test-compile:编译测试程序
【4】mvn test:执行测试
【5】mvn package:执行打包
【6】mvn install:安装
【7】mvn site:生成站点
9、再次建立一个 maven 项目
再次建立一个 maven 工程,工程名 PetStore 工程,在 Pet 中引入 Hello 工程的相关及相关,
实现 maven 的清理、编译、测试、执行,打包、安装等操作。
1、 构建 pom 文件
2、 在当前项目中创建一个类,调用 Hello 工程的 sayHello 方法
3、 在 test 模块中类中添加 测试类去调用 pet –welcome 方法
4、 测试相关命令。
10、maven 的生命周期(理解)
1、Maven 生命周期定义了构建环节的顺序,有了这个清单,Maven 就可以自动化的执行构
建命令了
2、Maven 有三套互相独立的生命周期,分别是:
[1]、Clean Lifecycle 在进行真正的构建之前进行的清理工作
[2]、Default Lifecycle 构建的核心部分,编译、测试、打包、安装、部署等
[3]、Site Lifecycle 生成项目报告,站点,发布站点
它们是互相独立的,你可以仅仅调用 clean 来清理工作目录,仅仅调用 site 来生
存站点,当然你也可以直接运行 mvn clean install site 运行这三套生命周期
每套生命周期都由一组阶段(Phase)组成,我们平时在命令行输入的命令总会对
应于一个特定的阶段,比如,运行 mvn clean,这个 clean 是 clean 生命周期的一个阶段,有
clean 生命周期,也有 clean 阶段
Clean 生命周期一共包含三个阶段
[1]、pre-clean:执行一些需要在 clean 之前完成的工作 。
[2]、clean:移除所有上一次构建生成的文件 。
[3]、post-clean:执行一些需要在 clean 之后立刻完成的工作。
Site 生命周期
1、pre-site:执行一些需要在生成站点文档之前完成的工作
2、site:生成项目的站点文档
3、post-site:执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
4、site-deploy:将生成的站点文档部署到特定的服务器上
这里经过用到的是 site 阶段和 site-deploy 阶段,用以生成和发布 Maven 站点,这可是
Maven 相当强大的功能,Maven 比较喜欢,文档及统计数据自动生成,很好看 。
Default 生命周期
Default 生命周期是 Maven 生命周期中最重要的一个,绝大部分工作都发生在这个生命周期
中,这里,只解释一些比较重要和常用阶段
validate
generate-sources
process-sources
generate-resources
process-resources 复制并处理资源文件,至目标目录,准备打包
compile 编译项目的源代码
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources 复制并处理资源文件,至目标测试目录
test-compile 编译测试源代码
process-test-classes
test 使用合适的单元测试框架进行测试,这些测试代码不会打包或者部署
prepare-package
package 接受编译好的代码,打包成可发布的格式,如 jar 文件
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装到本地仓库,以让其他项目依赖
deploy 将最终的包复制到远程的仓库,以让其他开发人员与项目共享或者部署到服务器上运行。
11、idea 中设置 maven
12、maven 创建一个普通的工程
创建方式一:
1、选中 maven 工程
点击 finish 完成。
方式二:通过骨架生成方式
工程之间的依赖
maven 依赖的范围
1、 Compile:源程序有效,测试程序有效,参与打包部署。
2、 Test:仅对测试程序有效,源程序无效,不参与打包部署。
3、 Provided:源程序有效,测试程序有效,不参与打包部署。
依赖的原则:
依赖原则 :
情景一:最短路径者优先
情景二:最先声明者优先
13、maven 创建一个 web 工程
1、选择骨架
2、补全目录结构,然后修改 web.xml 中的头文件。
3、为了防止某些资源文件失效,一般需要加入以下配置
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
创建一个 servlet,跳转到 jsp,如果没有问题就表示 ok 了