想彻底了解maven,有这篇文章足够了(一)——介绍、目录结构、maven的各个命令、maven的生命周期
一.简单介绍
Maven主要是用来管理项目,主要是对java项目的管理。
对java项目进行构建,节省时间,没必要把太多的时间花在项目的构建上
项目的构建过程:
Clean(清除) 、compile(编译)、test(test)、package(打包) 、install(部署)、site(站点报告生成
二、maven项目约束的目录结构
Mavenproject
--src
--main
--java --所有的java类
--resources ---所有的资源 文件
--test
--java --所有的java test类
--resources ---所有的test资源 文件
--target 编译后的java/resources内容
--pom.Xml
手动根据上面目录结构构建一个maven_project项目
分别在main/java下创建一个类
Packagecom.zz.HelloWorld;的类
在test/java下创建一个
Packagecom.zz.HelloWorldTest;的测试类
整个项目截图:
引入pom.xml文件内容如下
<projectxmlns="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.zzy</groupId>
<artifactId>maven_project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>maven_project</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
我们可以看到只引入一个junit jar包
三、手动构建maven项目
前提:本地安装了maven插件配置了maven的环境变量
如下题查看的吗maven
输入 mvn –v
说明本地maven是没问题的
1、编译 mvn compile
,只编译mian下的类
BUILD SUCCESS就是构建没问题
同时的在项目下生成一个target的文件夹
内容:
编译只编译main下的java文件,test只是开发过程中测试使用,对项目帮助不大,不需要编译,编译只会造成项目垃圾文件增多
2、mvn clean
清除编译内容
项目下target文件夹消失
3、mvn test
只对 test文件下的test类生效,同时会输入test类中带有test注解的所有方法
整个过程包含编译、测试两个阶段
4、mvn package
编译、测试、打包三个阶段
编译是编译main以及test下的所有类,同时也有测试过程
被打包的jar放在了
如下图
组成:结构artifactid-version.packaging组成
5、mvn install
安装的过程
包含了编译、测试、打包、上传到本地nexus四个过程
到本地仓库可以找到
Groupid +artifactid项目路径 artifactid vaersion packaging 组成项目jar
6、mvn site
生成站点报告,项目的依赖信息以web形式呈现出来,只包含了打包、生成报告过程
Target下可以看到
比较直观的查看依赖,以及依赖的之间的关系等等信息
四、Maven的三大生命周期
Maven的生命周期就是对所有的构建过程进行抽象,不做任何实际的工作,实际任务由插件完成
Maven有三套相互独立的生命周期,分别是clean、default和site。每个生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。
1、clean生命周期:清理项目,包含三个phase。
1)pre-clean:执行清理前需要完成的工作
2)clean:清理上一次构建生成的文件
3)post-clean:执行清理后需要完成的工作
2、default生命周期:构建项目,重要的phase如下。
1)validate:验证工程是否正确,所有需要的资源是否可用。
2)compile:编译项目的源代码。
3)test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
4)Package:把已编译的代码打包成可发布的格式,比如jar。
5)integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
6)verify:运行所有检查,验证包是否有效且达到质量标准。
7)install:把包安装到maven本地仓库,可以被其他工程作为依赖来使用。
8)Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
3、site生命周期:建立和发布项目站点,phase如下
1)pre-site:生成项目站点之前需要完成的工作
2)site:生成项目站点文档
3)post-site:生成项目站点之后需要完成的工作
4)site-deploy:将项目站点发布到服务器
后面内容预告...................
更多精彩请扫码关注微信公众号
名称:java版web项目
id :java_project