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

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

image.png

项目文件名上右键点击add framework support出现如下
image.png

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

在pom.xml中加入jsoup的依赖代码
<dependencies>
<dependency>

<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.2</version>
</dependency>
</dependencies>
保存 idea会自动导入所需依赖 或者 右键pom.xml文件 找到下图更新依赖
image.png

然后点击运行即可以maven方式运行代码
运行:在editconfigurarions中exec:java -Dexec.mainClass=MyIndex
运行结果如下
image.png

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

会自动去http://maven.apache.org/plugins/index.html或者http://www.mojohaus.org/plugins.html官网下载
还可以通过pom.xml配置文件运行
在配置文件中加入以下配置节
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId> //表示包名
<artifactId>exec-maven-plugin</artifactId> //表示插件名
<version>1.6.0</version> //插件版本
<executions>
<execution>
<phase>test</phase> //意思为在某个阶段下运行test
<goals>
<goal>java</goal> //使用java命令运行MyIndex程序
</goals>
<configuration>
<mainClass>MyIndex</mainClass> //入口文件
<arguments>
<argument></argument> //可以加入一些参数
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后再editconfigurations处删掉 run command处命令如下图
image.png

再次运行报错
image.png

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

再次运行 成功如下图
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文件
如下图
image.png

接下来执行mvn clean
运行结果如下
image.png

再看下项目目录下的target目录不见了
image.png

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

接下来在终端中输入命令 mvn process-resources
结果如下
image.png

只将资源文件进行了拷贝 没有对项目进行编译
接下来我们编译项目
编译之前先clean一下
mvn clean
mvn compile
image.png

执行命令可以看见下载maven 的compile插件
image.png

这时候会报出gbk编码的一个错误 原因是我们java代码中有中文字符 这时我们需要指定编码格式utf8
在pom配置文件中在加入一个插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
在plugins配置中加入 在编译的时候会读取该配置
这时入过compiler的version版本过高需要将maven的默认仓库地址更新下
如下图
image.png

保存配置文件会自动下载一些maven插件
下载成功后执行
mvn compile
image.png

这时会发现错误没了,项目目录结构如下
image.png

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

为什么执行mvn test可以运行项目呢?
是因为我们在pom.xml文件中配置了phase字节
image.png

phase字节位置可以更改 但是需要确保项目能编译生成到target目录下面内容
image.png

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容