-
生命周期
- 構(gòu)建生命周期,描述了構(gòu)建的過程,Maven內(nèi)置了3個構(gòu)建生命周期
- clean(清理)
- default(默認(rèn),重點關(guān)注)
- default生命周期由下表中的phase組成
-
phast 描述 validate 確認(rèn)項目正確并且所有必要的信息均可用 compile 編譯項目的源代碼(src/main) test 使用合適的單元測試框架測試編譯后的源代碼(src/main、src/test) package 獲取編譯后的代碼,并將其打包為可分發(fā)的格式,例如jar verify 對集成 測試的結(jié)果進行任何檢查,以確保符合質(zhì)量標(biāo)準(zhǔn) install 將軟件包安裝到本地存儲庫中,以作為本地其他項目中的依賴項 deploy 在構(gòu)建環(huán)境中完成后,將最終軟件包復(fù)制到遠程存儲庫中,以便與其他開發(fā)人員和項目共享
- sit(站點)
- 構(gòu)建生命周期由phase(階段組成)
- phase可以跟plugin goal(插件目標(biāo))綁定
- 通過命令mvn 插件:help可以查看插件包含的所有的goal
install示例: mvn install:install-file -Dfile=jar的路徑 -DgroupId=組織 -Dartifactid=庫名 -Dversion=版本 -Dpackaging=jar 查看插件的所有g(shù)oal:以tomcat7插件為例 mvn tomcat7:help - 構(gòu)建生命周期,描述了構(gòu)建的過程,Maven內(nèi)置了3個構(gòu)建生命周期
-
插件配置詳解: 以maven-dependency-plugin為例:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}}/lib</outputDirectory> </configuration> </execution> </executions> </plugin>在default生命周期的package階段執(zhí)行maven-dependency-plugin插件的copy-dependencies的任務(wù)(goal)
-
dependency中scope的取值
- compile:默認(rèn)。編譯依賴關(guān)系在所有類路徑中均可用。此外,這些依賴會傳遞到相關(guān)項目
- provider:僅在編譯和測試類路徑上可用,并且不可傳遞,希望jdk或容器在運行時提供它
- runtime: 依賴關(guān)系不是編譯所必須的,而是運行所必須的,它在運行時和測試類路徑中,但不在編譯類路徑中
- test:依賴關(guān)系對于正常使用該應(yīng)用程序不是必須的,并且僅在測試編譯和執(zhí)行階段可以用。他不是可傳遞到的
- system:必須顯示提供jar的位置(可以通過systemPath標(biāo)簽指定),不會去mavenn倉庫中查找
-
web項目
- 創(chuàng)建maven空項目后添加:<packaging>war</packaging>
- 添加javax.servlet-api的依賴,并且scope設(shè)置為provider
- 添加web.xml,路徑為:src/main/webapp/WEB-INF/web.xml,web.xml內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> </web-app>
-
利用tomcat7中的deploy發(fā)布項目到已運行的tomcat容器中
-
配置本地的tomcat的user用戶,在apache-tomcat-8.5.66/conf/tomcat-users.xml中新增如下內(nèi)容:
<role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="root" password="root" roles="manager-gui,manager-script"/> 啟動本機存在的tomcat
-
maven的配置文件中添加server節(jié)點,內(nèi)容如下:
<server> <id>tomcat8</id> <username>root</username> <password>root</password> </server> -
配置插件,內(nèi)容如下:
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <uriEncoding>UTF-8</uriEncoding> <path>/crm_10</path> <update>true</update> <url>http://localhost:8080/manager/text</url> <username>root</username> <password>root</password> <server>tomcat8</server> </configuration> </plugin>server和username/password兩種方式選擇一種即可
執(zhí)行mvn tomca7:deploy 發(fā)布到本地已經(jīng)運行的tomcat容器之中
-
4.maven 配置詳解
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- Maven編譯代碼的相關(guān)命令 第一、main目錄下的主代碼編寫完畢后,使用Maven進行編譯,在項目根目錄下運行命...
- 1、插件 Maven本質(zhì)上是一個插件框架,它的核心并不執(zhí)行任何具體的構(gòu)建任務(wù),所有這些任務(wù)都交給插件來完成,像編譯...
- 1、pom.xml文件中scope標(biāo)簽 scope標(biāo)簽位于dependency標(biāo)簽中,主要的作用是管理依賴的部署,...
- Maven基礎(chǔ) 第1章Maven介紹 1.1 什么是Maven 1.1.1 什么是Maven Maven的正確發(fā)音...