IDEA配置maven 點擊file-settings做如下設(shè)置保存
image.png
項目文件名上右鍵點擊add framework support出現(xiàn)如下
image.png
找到maven 點擊確定 自動將項目改為maven項目 項目目錄結(jié)構(gòu)改變成maven默認(rèn)結(jié)構(gòu)并且聲稱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會自動導(dǎo)入所需依賴 或者 右鍵pom.xml文件 找到下圖更新依賴
image.png
然后點擊運行即可以maven方式運行代碼
運行:在editconfigurarions中exec:java -Dexec.mainClass=MyIndex
運行結(jié)果如下
image.png
運行時候 依賴此插件
image.png
會自動去http://maven.apache.org/plugins/index.html或者http://www.mojohaus.org/plugins.html官網(wǎng)下載
還可以通過pom.xml配置文件運行
在配置文件中加入以下配置節(jié)
<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> //可以加入一些參數(shù)
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后再editconfigurations處刪掉 run command處命令如下圖
image.png
再次運行報錯
image.png
修改editconfigurations處 在run command處加入test 這個和pom配置文件中<phase></phase>節(jié)點內(nèi)容相同
image.png
再次運行 成功如下圖
image.png
為什么需要加入test鉴嗤?
這需要我們了解maven的生命周期
maven生命周期有三個
三個周期
1、 Clean 構(gòu)建之前進行一些清理工作
2弄兜、Default 如編譯扁誓,測試,打包,部署等等瑟枫。
3、Site 生成項目報告指攒,站點慷妙,發(fā)布站點。
譬如 我們執(zhí)行 mvn clean
這就是clean周期中的第二個
clean下面的一些子周期
1允悦、pre-clean 執(zhí)行一些需要在clean之前完成的工作
2膝擂、clean 移除所有上一次生成的文件
3、post-clean 執(zhí)行一些需要在clean之后立刻完成的工作
僅僅去執(zhí)行 mvn clean隙弛,就是清理架馋,不會幫我們編譯
常用的幾個 生命周期
這些為default下面的子生命周期
process-resources 復(fù)制、打包資源文件
compile 編譯項目
test 運行測試(需要配置測試框架全闷。暫不指定)
package 打包成可發(fā)布的格式叉寂,如 JAR 、war
install 將包安裝至本地倉庫
deploy 將最終的包復(fù)制到遠(yuǎn)程的倉庫
(還有很多总珠,可以課后查文檔屏鳍,很多時候我們剛開始使用,然而并用不到)
譬如
mvn compile
首先我們來到項目目錄下
終端進入
項目右鍵copy path
cd 進入項目
dir查看項目下文件 確保有pom.xml文件
如下圖
image.png
接下來執(zhí)行mvn clean
運行結(jié)果如下
image.png
再看下項目目錄下的target目錄不見了
image.png
可以看到執(zhí)行該命令 自動下載了maven的clean插件 也就是說 這個插件是執(zhí)行clean命令這個階段過程中自動去匹配的
接下來我們使用一下process-resources這個生命周期
這個作用是拷貝資源文件
我們在項目目錄resources文件夾下創(chuàng)建個abc.txt文件隨便輸入一些內(nèi)容
目錄如下
image.png
接下來在終端中輸入命令 mvn process-resources
結(jié)果如下
image.png
只將資源文件進行了拷貝 沒有對項目進行編譯
接下來我們編譯項目
編譯之前先clean一下
mvn clean
mvn compile
image.png
執(zhí)行命令可以看見下載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的默認(rèn)倉庫地址更新下
如下圖
image.png
保存配置文件會自動下載一些maven插件
下載成功后執(zhí)行
mvn compile
image.png
這時會發(fā)現(xiàn)錯誤沒了局服,項目目錄結(jié)構(gòu)如下
image.png
可以發(fā)現(xiàn)compile周期 包含了之前的資源文件拷貝打包的過程
接下來我們看下test生命周期
mvn clean
mvn test test代表對項目進行構(gòu)建編譯完成之后對其進行單元測試
出現(xiàn)如下界面 代表執(zhí)行了exec-maven-plugin插件
image.png
為什么執(zhí)行mvn test可以運行項目呢钓瞭?
是因為我們在pom.xml文件中配置了phase字節(jié)
image.png
phase字節(jié)位置可以更改 但是需要確保項目能編譯生成到target目錄下面內(nèi)容
image.png