maven速学 idea+maven配置 生命周期 插件定义 运行项目

IDEA配置maven 点击file-settings做如下设置保存

maven速学 idea+maven配置 生命周期 插件定义 运行项目_第1张图片
image.png

项目文件名上右键点击add framework support出现如下
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第2张图片
image.png

找到maven 点击确定 自动将项目改为maven项目 项目目录结构改变成maven默认结构并且声称pom文件
如何以maven方式运行项目?
点击run-editconfiguration-点击加号-more33 items找到maven添加如下图
image.png

在pom.xml中加入jsoup的依赖代码



org.jsoup
jsoup
1.11.2


保存 idea会自动导入所需依赖 或者 右键pom.xml文件 找到下图更新依赖
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第3张图片
image.png

然后点击运行即可以maven方式运行代码
运行:在editconfigurarions中exec:java -Dexec.mainClass=MyIndex
运行结果如下
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第4张图片
image.png

运行时候 依赖此插件
image.png

会自动去 http://maven.apache.org/plugins/index.html或者 http://www.mojohaus.org/plugins.html官网下载
还可以通过pom.xml配置文件运行
在配置文件中加入以下配置节



org.codehaus.mojo //表示包名
exec-maven-plugin //表示插件名
1.6.0 //插件版本


test //意思为在某个阶段下运行test

java //使用java命令运行MyIndex程序


MyIndex //入口文件

//可以加入一些参数







然后再editconfigurations处删掉 run command处命令如下图
image.png

再次运行报错
image.png

修改editconfigurations处 在run command处加入test 这个和pom配置文件中节点内容相同
image.png

再次运行 成功如下图
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第5张图片
image.png

为什么需要加入test?
这需要我们了解maven的生命周期
maven生命周期有三个
三个周期
1、 Clean 构建之前进行一些清理工作
2、Default 如编译,测试,打包,部署等等。
3、Site 生成项目报告,站点,发布站点。
譬如 我们执行 mvn clean
这就是clean周期中的第二个
clean下面的一些子周期
1、pre-clean 执行一些需要在clean之前完成的工作
2、clean 移除所有上一次生成的文件
3、post-clean 执行一些需要在clean之后立刻完成的工作
仅仅去执行 mvn clean,就是清理,不会帮我们编译
常用的几个 生命周期
这些为default下面的子生命周期
process-resources 复制、打包资源文件
compile 编译项目
test 运行测试(需要配置测试框架。暂不指定)
package 打包成可发布的格式,如 JAR 、war
install 将包安装至本地仓库
deploy 将最终的包复制到远程的仓库
(还有很多,可以课后查文档,很多时候我们刚开始使用,然而并用不到)
譬如
mvn compile
首先我们来到项目目录下
终端进入
项目右键copy path
cd 进入项目
dir查看项目下文件 确保有pom.xml文件
如下图
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第6张图片
image.png

接下来执行mvn clean
运行结果如下
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第7张图片
image.png

再看下项目目录下的target目录不见了
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第8张图片
image.png

可以看到执行该命令 自动下载了maven的clean插件 也就是说 这个插件是执行clean命令这个阶段过程中自动去匹配的
接下来我们使用一下process-resources这个生命周期
这个作用是拷贝资源文件
我们在项目目录resources文件夹下创建个abc.txt文件随便输入一些内容
目录如下
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第9张图片
image.png

接下来在终端中输入命令 mvn process-resources
结果如下
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第10张图片
image.png

只将资源文件进行了拷贝 没有对项目进行编译
接下来我们编译项目
编译之前先clean一下
mvn clean
mvn compile
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第11张图片
image.png

执行命令可以看见下载maven 的compile插件
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第12张图片
image.png

这时候会报出gbk编码的一个错误 原因是我们java代码中有中文字符 这时我们需要指定编码格式utf8
在pom配置文件中在加入一个插件

org.apache.maven.plugins
maven-compiler-plugin
3.5

1.8
1.8
UTF-8


在plugins配置中加入 在编译的时候会读取该配置
这时入过compiler的version版本过高需要将maven的默认仓库地址更新下
如下图
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第13张图片
image.png

保存配置文件会自动下载一些maven插件
下载成功后执行
mvn compile
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第14张图片
image.png

这时会发现错误没了,项目目录结构如下
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第15张图片
image.png

可以发现compile周期 包含了之前的资源文件拷贝打包的过程
接下来我们看下test生命周期
mvn clean
mvn test test代表对项目进行构建编译完成之后对其进行单元测试
出现如下界面 代表执行了exec-maven-plugin插件
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第16张图片
image.png

为什么执行mvn test可以运行项目呢?
是因为我们在pom.xml文件中配置了phase字节
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第17张图片
image.png

phase字节位置可以更改 但是需要确保项目能编译生成到target目录下面内容
maven速学 idea+maven配置 生命周期 插件定义 运行项目_第18张图片
image.png

你可能感兴趣的:(maven速学 idea+maven配置 生命周期 插件定义 运行项目)