IDEA配置maven 点击file-settings做如下设置保存
项目文件名上右键点击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
网友评论