lifecycle

maven的生命周期分为3种

1.default

2.clean

3.site

大概流程如图所示

maven里的lifecycle和plugins有什么区别_搜索

其中比较重要的几个步骤有以下几个

1.clean

用于清除之前构建生成的所有文件

其中具体为清楚了Target目录中的所有文件,包括该目录

i.e:删除了install生成的所有文件

2.validate

用于验证项目是否真确,并且其说有必要信息是否都可用

3.compile

编译项目的源代码,主要是java文件

一般是编译scr/main/java或是scr/test/java里面的文件

4.test

用合适的测试框架来进行测试,测试compile中编译出来的代码

测试的东西一般不加包和部署

5.packaging

获取compile中编译好的代码并将其打包成可分类的格式,i.e:JAR

6.vertify

这步是用来验证test

检查test的结果是否满足标准

7.install

将软件包安装到本地存储库中

确保本地其他项目可能需要使用他(eg:装了core才能用oms)

9.deploy

复制最终的包至远程仓库

共享给其它开发人员和项目

maven里的lifecycle和plugins有什么区别_maven_02

PS:在install的时候可能会出现乱码,此时对着install点右键,选择create xxx install

      在command line里写 install -Dmaven.test.skip=true -f pom.xml 然后用新写的命令代替旧的install即可

 

plugin

<dependency>

帮组分析项目依赖

依赖就是在maven里面要用哪个包就在<denpendency>标签里面写东西

一般不用自己写

可以在google里面搜索“maven xxx repository”

或者直接在http://mvnrepository.com/里面搜索xxx

<resources>

将资源文件过滤

resources用来处理资源

compiler用来编译java文件

<jetty>

快速在web上部署

进行调试的时候比较方便和节省时间

<build>

可以分为

<project build>全局配置:为全局有效

<profile build>配置:为针对不同的profile配置

build里面有<resource>和<plugin>两种标签

他们都是把一些默认方法放在其他文件路径的文件放到“src/main/java”里面

<packaging>

打包方式主要有JAR和WAR两种

其中JAR用于比较小的项目,好处为不用依赖包,因为他把应用依赖的所有依赖包和程序打包在一个全量包里,他说packaging的默认方式

WAR适用于需要部署的项目

<scope>

适用范围主要分为test和provided两种

test对测试范围有效

provided对编译和测试过程都有效

 

PS:

1.匹配符**可以匹配路径,*只能匹配名字

2.如果启动失败先看错误信息

3.jetty:run要create一个再运行,不用直接运行,因为直接运行可能会调用到了其他人的profiles

4.运行maven之前先看一块profile的配置环境有没有勾选错别人的环境