動力節(jié)點講義_第1頁
動力節(jié)點講義_第2頁
動力節(jié)點講義_第3頁
動力節(jié)點講義_第4頁
動力節(jié)點講義_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Maven主講:北京動力節(jié)點2目錄第 1 章maven 的用途5簡介錯誤!未定義書簽。1.1maven 項目中主要應(yīng)用61.2第 2 章Maven 中的概念72.1Pom7pom 文件中節(jié)點含義project72.2.2mVersion82.2.3groupId82.2.4artifactId82.2.5packaging82.2.6version82.2.7name82.2.8url82.2.9description92.2.10dependencies92.2.11build92.2.12parent9Repositories-倉庫官網(wǎng)倉庫地址92.3.

2、2無倉庫工作示意圖102.3.3有倉庫工作示意圖11第 3 章Maven 環(huán)境搭建18運行 Maven 環(huán)境準備 maven 工具183.1.2準備 maven 倉庫錯誤!未定義書簽。地址錯誤!未定義書簽。.4配置環(huán)境變量19北京動力節(jié)點 13.1.5測試環(huán)境203.1.6建立工程203.1.7編寫 pom.xml 配置文件213.1.8編寫測試程序213.1.9編譯程序213.1.10打包程序22程序錯誤!未定義書簽。.12修改本機倉庫位置293.1.13修改倉庫配置31Eclipse Maven 插件環(huán)境3準備工具錯誤

3、!未定義書簽。地址錯誤!未定義書簽。.3配置eclipse32第 4 章創(chuàng)建 maven 工程32創(chuàng)建 maven-java 工程324.1創(chuàng)建 maven-web 工程444.2第 5 章插件57編譯插件585.1打包插件5打 jar 包插件585.2.2打 war 包插件58jetty 插件5配置 jetty 插件595.3.2端口與應(yīng)用根路徑錯誤!未定義書簽。5.3.3運行 web 工程535.3.4內(nèi)存溢出異常555.3.5關(guān)聯(lián)源碼56打包后最終名稱605.4自定義屬性605.5北京動力節(jié)點 2第 6 章依賴錯誤!未定義書簽。依賴的組

4、成groupId錯誤!未定義書簽。6.1.2artifactId錯誤!未定義書簽。6.1.3version錯誤!未定義書簽。6.1.4完整格式13依賴作用域compile錯誤!未定義書簽。6.2.2provided錯誤!未定義書簽。6.2.3runtime錯誤!未定義書簽。6.2.4test錯誤!未定義書簽。6.2.5system錯誤!未定義書簽。獲取依賴地址15搜索166.3.2依賴166.3.3常用依賴176.4工程實例錯誤!未定義書簽。java 工程實例錯誤!未定義書簽。6.5.2web 工程實例錯誤!未定義書簽

5、。第 7 章打包60Eclipse 工程60打 jar 包607.1.2打可執(zhí)行 jar 包627.1.3打 War 包67自定義 jar 包687.1.4Maven 工程6打 jar 包687.2.2打可執(zhí)行 jar 包69北京動力節(jié)點 37.2.3打 War 包70自定義 jar 包707.2.4第 8 章項目導(dǎo)入及轉(zhuǎn)換70Maven 項目導(dǎo)入718.1Myeclipse 工程轉(zhuǎn)eclipse 工程728.2Eclipse 轉(zhuǎn) maven738.3Maven 轉(zhuǎn)eclipse738.4第 9 章自定義模板錯誤!未定義書簽。創(chuàng)建 Java 工程模板錯誤!未定

6、義書簽。添加插件錯誤!未定義書簽。9.1.2添加依賴錯誤!未定義書簽。web 工程模板錯誤!未定義書簽。添加插件錯誤!未定義書簽。9.2.2添加依賴錯誤!未定義書簽。9.2.3Web.xml錯誤!未定義書簽。第 10 章附錄:常用命令1210.1mvn compile1210.2mvn clean1210.3mvn package1210.4mvn install1210.5mvn clean install12北京動力節(jié)點 第1章 初識 Maven1.1什么是 Maven(摘自百科)Maven 是 Apache 的一個頂級的項目:Maven 這個單詞來自第緒語

7、(猶太語),意為知識的積累,最早在 Jakata Turbine項目中它被用來簡化項目的構(gòu)建過程。在 Maven 出現(xiàn)之前,當(dāng)時有很多項目使用不同的 Ant配置進行構(gòu)建,它們的 Ant build 文件僅有細微的差別,并且將 jar含在版本系統(tǒng)(CVS)中,沒有一套統(tǒng)一的構(gòu)建工具。如果有一套工具,可以擁有一套標準的方法來構(gòu)建一個項目,可以清楚的定義一個項目是由哪些部分組成的,可以擁有一種簡單的方法發(fā)布項目的信息,可以在不同的項目之間jar 包。出于這個目的,Maven 被創(chuàng)造了出來,該項目的清晰定義包括,一種很方便的發(fā)布項目信息的方式,以及一種在多個項目中共享JAR的方式。Maven 是一個項

8、目管理工具,它包含了一個項目對象模型 (Project Object M),一組標準集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(tǒng)(DependencyManagement System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。當(dāng)你使用Maven 的時候,你用一個明確定義的項目對象模型來描述你的項目,然后 Maven 可以應(yīng)用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。Maven 包含一個生命周期,當(dāng)你運行 mvn install 的時候被調(diào)用。這條命令告訴Maven 執(zhí)行一系列的有序的步驟,直到到達

9、你指定的生命周期。遍歷生命周期旅途中的一個影響就是,Maven 運行了許多默認的插件目標,這些目標完成了像編譯和創(chuàng)建一個 JAR文件這樣的工作。此外,Maven 能夠很方便的幫你管理項目報告,生成站點,管理JAR 文件,等等。北京動力節(jié)點 1.2 Maven 項目中主要應(yīng)用l項目構(gòu)建u 什么是構(gòu)建工具?構(gòu)建工具是將軟件項目構(gòu)建相關(guān)的過程自動化的工具。構(gòu)建一個軟件項目通常包含以下一個或多個過程:·····生成源碼(如果項目使用自動生成源碼);從源碼生成項目文檔;編譯源碼;將編譯后的代碼打包成 JAR 文件或者 ZIP 文件;將打包好的代碼安裝到服

10、務(wù)器、倉庫或者其它的地方;有些項目可能需要的過程才能完成構(gòu)建,這些過程一般也可以整合到構(gòu)建工具中,因此它們也可以實現(xiàn)自動化。自動化構(gòu)建過程的好處是將手動構(gòu)建過程中犯錯的風(fēng)險降到最低。而且,自動構(gòu)建工具通常要比手動執(zhí)行同樣的構(gòu)建過程要快。l文檔管理l生成測試報告l解決項目間依賴項l源代碼版本管理及自動關(guān)聯(lián)l項目 Releasesl項目的分發(fā)l強制性精確的 jar 包管理ljar 包自動l輔助測試北京動力節(jié)點 第2章 Maven 基礎(chǔ)知識2.1 POMPOM 是指 Project Object M。POM 是一個 xml,在 Maven 里為 pom.xml。是 Maven 工作的基礎(chǔ),在執(zhí)行 t

11、ask 或者 goal 時,Maven 會去項目根目錄下pom.xml 獲得需要的配置信息。POM 文件中包含了項目的信息和 maven build 項目所需的配置信息,通常有項目信息(如版本、成員)、項目的依賴、插件和 goal、build 選項等。POM 是可以繼承的,通常對于一個大型的項目或是多個 module 的情況,子模塊的POM 需要指定父模塊的POM2.1.1POM 文件中節(jié)點含義可以參照 maven 官網(wǎng)上的文檔2.1.2projectPOM 文件的頂級元素; 任何你想 build 的事物,Maven 都會把它們當(dāng)作是一個Project;這些 Project 被定義為 POM(

12、Project Object M);一個 Project 可以依賴其他的 project,一個 project 也可以有多個子 project 組成北京動力節(jié)點 2.1.3mVersion所使用的 object m版本,為了確保穩(wěn)定的使用,這個元素是強制性的。除非 maven開發(fā)者升級模板,否則不需要修改2.1.4groupId是項目創(chuàng)建團體或項目的唯一標志符,通常是倒寫如:com.bjpowernode 或者com.bjpowernode.p2p2.1.5artifactId是項目 artifact 唯一的基地址名,通常指的是項目名或者模塊名如:p2p 或者 dataservice2.1.6

13、versionartifact 的版本,通常能看見為類似 0.0.1-SNAPSHOT,其中 SNAPSHOT 表示項目開發(fā)中,為開發(fā)版本2.1.7packagingartifact 打包的方式,如 jar、war、ear 等等。默認為 jar。這個不僅表示項目最終產(chǎn)生何種后綴的文件,也表示build 過程使用什么樣的 lifecycle。2.1.8name表示項目的展現(xiàn)名,在 maven 生成的文檔中使用2.1.9url表示項目的地址,在 maven 生成的文檔中使用,通常不用北京動力節(jié)點 2.1.10 description表示項目的描述,在 maven 生成的文檔中使用2.1.11 de

14、pendencies表示依賴,在子節(jié)點 dependencies 中添加具體依賴的groupId、artifactId 和 versionMaven 在搭建工程時主要是編寫依賴。編寫依賴就是從官網(wǎng)上2.1.12 build表示 build 配置2.1.13 parent表示父POM2.2Repositories倉庫Repositories 是用來Artifact 的。如果說我們的項目產(chǎn)生的Artifact 是一個個小工具,那么 Repositories 就是一個倉庫,里面有我們創(chuàng)建的工具,也可以儲存別人造的工具,我們在項目中需要使用某種工具時,在POM 中dependency,編譯代碼時就會根

15、據(jù)dependency 去工具(Artifact),供使用。對于的項目完成后可以通過 mvn install 命令將項目放到倉庫(Repositories)中倉庫分 地倉庫和倉庫倉庫是指服務(wù)器上用于Artifact 的倉庫,本地倉庫是指本機Artifact 的倉庫,對于 windows本地倉庫地址用戶的.m2/repository 下面。對于需要的依賴,在 pom.xml 中添加 dependency 即可,可以在 maven 的倉庫中搜索。2.2.1官網(wǎng)倉庫地址北京動力節(jié)點 maven 依賴的地方倉庫有也有國內(nèi)有鏡像2.3Maven 工作原理2.3.1無倉庫工作原理北京動力節(jié)點 2.3.2有

16、倉庫工作原理2.4Maven 的構(gòu)建的生命周期Maven 的構(gòu)建機制,是生命周期(lifecycle)這個概念進行構(gòu)建的。這意味著構(gòu)建和發(fā)布一個項目的整個過程是預(yù)先被定義了的。采用這種方式進行項目構(gòu)建,可以讓用戶在學(xué)習(xí)很少的一部分命令的情況下通過 POM 對項目進行構(gòu)建。Maven 本質(zhì)上是一個插件框架,它的并不執(zhí)行任何具體的構(gòu)建任務(wù),僅僅定義了抽象的生命周期,所有這些任務(wù)都交給插件來完成的。將生命周期的階段與插件目標互相綁定,就可以在特定的階段完成具體的構(gòu)建任務(wù), Maven 的生命周期是抽象的,這意味著生命周期本身不做任何實際的工作,在 Maven 的設(shè)計中,實際的任務(wù)都交由插件來完成。生

17、命周期抽象了構(gòu)建的各個步驟,定義了它們的次序,利用插件機制具體實現(xiàn)。每個構(gòu)建步驟都可以綁定一個或多個插件行為。在 Maven 中,內(nèi)建了三種構(gòu)建生命周期:default、clean、site。default 生命周期處理項目的部署,clean 生命周期處理項目構(gòu)建后的工作,site 生命周期對項目的站點文檔進行生成。Maven 的生命周期,又是由不同的階段(phase)的。每一個生命周期,都包含了一系列的階段,每一個階段都表示了生命周期中的一個狀態(tài)。比如,對于 default 生命周期北京動力節(jié)點 來說,包含了如下的這些階段:lvalidatelcompile 編譯ltest 測試lpacka

18、ge 打包運行任何檢查,驗證包是否有效且達到質(zhì)量標準lverifyl將項目打包生成的Artifact 放到倉庫中installl發(fā)布deployMaven 在執(zhí)行 default 生命周期的時候,會順序執(zhí)行這些階段來完成不同的工作。2.5 常用命令mvn compile編譯源代碼mvn test運試程序mvn clean清除目標目錄中的生成結(jié)果mvn package依據(jù)項目生成 jar war 文件mvn install在本地 Repository 中安裝 jarmvn clean install刪除再編譯mvn archetype:genate生成 maven 項目結(jié)構(gòu)2.6 依賴說完生命周

19、期,還有一個必須要說的就是依賴管理了。Maven中是通過在 pom.xml中添加依賴從而來引入 jar 包的。其原理是:每一個 jar 都會有的坐標,Maven 就是通過坐標來到具體的 jar 的。就好像平面坐標系一樣,通過 x 軸 和 y 軸一個北京動力節(jié)點 坐標點。Maven 定義了這樣一組規(guī)則:世界上任何一個構(gòu)件都可以使用 Maven 坐標唯一標識。2.6.1Maven 坐標組成Ø groupId: 定義當(dāng)前Maven 項目隸屬的實際項目Ø artifactId: 該元素定義實際項目中的一個 Maven 項目或模塊Ø version: 該元素定義Maven

20、項目當(dāng)前所處的版本Ø packaging: 該元素定義 Maven 項目的打包方式Ø classifier: 該元素用來幫助定義構(gòu)建輸出的一些附屬構(gòu)件注:groupId、artifactId、version、packaging 是必須定義的,classifier 是不能被直接定義的,因為附屬構(gòu)件不是項目直接默認生成的,而是由附加的插件幫助生成的。Ø 依賴完整格式只要我們提供正確的坐標元素,Maven 就能夠找到它2.6.2依賴配置詳解一個依賴(<dependency>)的可以包含以下元素:北京動力節(jié)點 2.6.3依賴作用域(范圍)北京動力節(jié)點 2.6.

21、4傳遞性依賴2.6.5獲取依賴有的人可能會有疑問,以前沒有 Maven 的時候,我們可以去各自的官網(wǎng)jar,但現(xiàn)在只能通過 pomjar。那么如何知道需要添加哪些依賴呢?還有需要什么版本呢?這也是為什么有一部分習(xí)慣了jar,而到了 Maven 這不知道該怎么用了。當(dāng)然,Maven 還不是智能的,你不可能直接命令 Maven 直接給你找項目所需要的各種組件,或許以后這樣的智能化的軟件管理工具會出現(xiàn),至少現(xiàn)在還沒有。因此,還得需要你去添加 pom 依賴。至于該如何找,這里我告訴大家一個方法,雖然方法有點笨,但或許對你快速到具體組件有所幫助。舉個例子,假如現(xiàn)在需要添加 Spring 的依賴,但具體哪

22、個版本呢,可以先不用管,直接去Baidu 或者,以“ maven servlet repository ”為關(guān)鍵字搜索,往往第一個鏈接中,就是你需要的方案。(1) 地址北京動力節(jié)點 (2)搜索依賴選擇原則通常為相對比較新,同時被使用比較多的正式版(release 版);依賴2.6.6從網(wǎng)頁中的 maven 選項卡中依賴信息到的 pom.xml 中北京動力節(jié)點 當(dāng)然,這只是法,只剛接觸 Maven 的童鞋們。隨著項目經(jīng)驗的增多,以后你就會越來越發(fā)現(xiàn),Maven的不僅僅是你的雙手,還有你最寶貴的時間。2.6.7常用依賴參見常用依賴.xml北京動力節(jié)點 第3章 Maven 常用命令應(yīng)用3.1標準的

23、maven 目錄結(jié)構(gòu)參照lMaven 這個項目管理和構(gòu)建自動化工具,越來越多的開發(fā)使用它來管理項目中的jar 包。但是對于我們程序員來說,我們最關(guān)心的是它的項目構(gòu)建功能。所以這里我們介紹的就是怎樣用 maven 來滿足我們項目的日常需要。Maven 使用慣例優(yōu)于配置的原則 。它要求在沒有定制之前,所有的項目都有如下的結(jié)構(gòu)Maven 默認約定了一套目錄結(jié)構(gòu),在通過 Maven 創(chuàng)建了項目以后,項目的目錄結(jié)構(gòu)就是以這套目錄結(jié)構(gòu)作為模板創(chuàng)建的。3.2運行 Maven 環(huán)境(compile)參照工程 maven-01準備 maven 工具3.2.1到 maven 的上,maven,目前我們使用的版本是

24、北京動力節(jié)點 目錄目的$basedir項目根目錄,存放 pom.xml 和所有子目錄$basedir/src/main/java存放項目的 java 源代碼$basedir/src/main/resources存放項目的配置文件$basedir/src/main/webapp如果是 web 項目,存放 web$basedir/src/test/java存放測試類的源代碼$basedir/src/test/resources存放測試需要的配置文件$basedir/target存放生成的字節(jié)碼文件及打包生成文件等apache-maven-3.3.9-bin.zip 并解壓到 D 盤根目錄下3.2.

25、2配置環(huán)境變量在 Path 中增加“;%maven_home%/bin”北京動力節(jié)點 3.2.3測試環(huán)境在命令行窗口編寫如下命令:mvn version(mvn -v)如果如上圖所示說明環(huán)境配置正確3.2.4建立一個 Maven 工程在 D:coursejavaProjects22-maven 目錄下創(chuàng)建 maven-01 目錄,注意:遵循 maven 的目錄結(jié)構(gòu)要求。lpom.xml 是必有的配置文件lsrc 是必有的文件夾lmain 是必有的文件夾里面存放所有的源文件ljava 里存放 java 源代碼文件lresources 存放配置文件ltest 存放測試代碼.l編譯后還會生成 tar

26、get 目錄,主要用來存放編譯后的字節(jié)碼文件以及打包生成的文件等北京動力節(jié)點 3.2.5編寫pom.xml 配置文件其中的配置信息可以從官網(wǎng)上找到或者從.txt中pom.xml 的內(nèi)容跟 src 放到同一目錄下編寫一個 Java 程序3.2.6在 src/main/java/com/bjpowernode/maven 目錄下創(chuàng)建一個類 HelloMaven.java,其中紅色部分為3.2.7編譯程序啟動命令行窗口并轉(zhuǎn)到項目的根目錄下 D:coursejavaProjects22-mavenmaven-01 下執(zhí)行:mvn compile 命令后,執(zhí)行命令前看一下 C:UsersAdminist

27、rator.m2 目錄中是沒北京動力節(jié)點 有任何內(nèi)容的在執(zhí)行命令的過程中,Maven 會自動編譯過程中所需要的依賴(需聯(lián)網(wǎng),如果網(wǎng)速不給力的話,會比較慢), 再去查看C:UsersAdministrator.m2 目錄下會多一個叫做repository 的目錄,這就是本地的倉庫,默認在 C:UsersAdministrator.m2 目錄下,可以修改.同時將文件生成到classD:coursejavaProjects22-mavenmaven-01targetclassescombjpowernodemaven 目錄下看到上圖說明編譯通過3.3對上面編寫的代碼進行單元測試(test)參照工程

28、maven-01如果要進行單元測試的話,需要使用 Junit 單元測試的 jar 包,我們使用的 4.10 版本, 也就是說,我們的這個 Maven 項目,需要依賴于 junit4.10 的 jar 包3.3.1編寫測試類注意:測試類和被測試類要求名為 test+被測試的方法名第一步要一致,測試類的名字為被測試類名字+Test,方法l在 D:coursejavaProjects22-mavenmaven-01srctestjavacombjpowernodemaven 目錄下新建 HelloMavenTest.java 源文件北京動力節(jié)點 l第二步來到 D:coursejavaProjects

29、22-mavenmaven-01 目錄下,運行 mvn test 執(zhí)序,會出現(xiàn)如下錯誤試程是因為我們?nèi)绻M行單元測試,需要 junit.jar,以前是去 classpath 找,如果使用 Maven,會去倉庫中找。需要在 pom.xml 文件中加如下配置加完之后,再執(zhí)行 maven test,會發(fā)現(xiàn)還會執(zhí)行 downloading 操作,而且會將junit依賴的 hamcrest 的 jar 包也下來放到本地倉庫中,成之后,會發(fā)現(xiàn)報錯了,因為我們的實際值和期望值不匹配北京動力節(jié)點 如果要查看更詳細的錯誤信息,可以到D:coursejavaProjects22-mavenmaven-01targ

30、etsurefire-reports 查看錯誤日志。3.3.2修改測試類中的代碼,讓實際值和期望值相等切換到項目根目錄 D:coursejavaProjects22-mavenmaven-01 下,執(zhí)行 maven test北京動力節(jié)點 測試通過3.4 清空 target 內(nèi)容(clean)在命令行輸入mvn clean 命令觀察到 maven-01 目錄 target 目錄被刪除:說明編譯和打包后的文件都被掉了3.5通過命令打包程序(package)如果現(xiàn)在 maven-01 是一個完整的功能,已經(jīng)開發(fā)完畢,需要將這些代碼給其它開發(fā)人員使用,那么需要將我們 maven-01 項目的代碼進行打

31、包,在實際開發(fā)的過程中,如果是普通的 java 項目,打 jar 包;如果是web 項目,打 war 包。切換到項目根目錄 D:coursejavaProjects22-mavenmaven-01 下,在命令行輸入 mvnpackage 命令觀察到在 D:coursejavaProjects22-mavenmaven-01target 目錄下多了一個 maven-01-1.0.jar生成的 jar 包名規(guī)則 artifactId-version.jar3.6在其它工程中maven-01 生成的 jar 包(install)參照 maven-02北京動力節(jié)點 第一步按照標準的 maven 目錄結(jié)

32、構(gòu)創(chuàng)建一個 maven 項目 maven-02第二步執(zhí)行 mvn compile,提示找不到 HelloMaven 類,是我們在 TestInstall 類中了HelloMaven 類,而且 HelloMaven 這個類在 maven-01 工程中,所以我們可以說maven-02 工程依賴 maven-01 生成的 jar,在 maven-01 中 jar 包已經(jīng)生成了,但是我們還沒有建立依賴關(guān)系第三步在 maven-02 下的 pom。Xml 文件中加如下代碼執(zhí)行 mvn compile,依然會報錯,而且會倉庫maven-01北京動力節(jié)點 第四步這個時候雖然 maven-01 已經(jīng)打包完成,

33、但是在本地的倉庫還沒有這個 jar 包,索引在maven-01 工程根目錄下執(zhí)行 mvn install 命令,將打好的 jar 包放到本地倉庫中。這個命令后會發(fā)現(xiàn)在本地倉庫的位置,多了以下內(nèi)容第五步在 maven-02 工程下執(zhí)行mvn compile3.7 使用 Maven 命令創(chuàng)建 Maven 工程(mvn archetype:generate)在 D:coursejavaProjects22-maven 目錄下執(zhí)行,首先會該插件需要的相關(guān) jar 包,放到本地倉庫中, 然后按照提示輸入 groupId , artifactId , 以及 version 會在 D:coursejavaP

34、rojects22-maven 目錄下生成一個 maven 工程 maven-03北京動力節(jié)點 北京動力節(jié)點 但是這個命令很慢,大家下去練習(xí)的時候了解第4章 修改倉庫位置4.1 修改本機倉庫位置安裝好 maven 后,本機倉庫的默認位置為 C:UsersAdministrator.m2repository 下,但是我們可以對其進行修改。用文本編輯器打開 D:apache-mavenconf settings.xml查找到如下內(nèi)容將其到注釋外面并修改成北京動力節(jié)點 轉(zhuǎn)移倉庫位置:將當(dāng)前用戶下的 repository 移動到 D 盤根目錄下移動前:移動后:北京動力節(jié)點 使用mvnversion 命

35、令測試修改是否4.2 修改倉庫配置Maven默 認 的倉 庫, 地 址 可 以在-builder-3.3.9.jar 包中的 pom-4.0.0.xml 文件中找到。D:apache-mavenlibmaven-m北京動力節(jié)點 如果想修改位置:只需用文本編輯器打開 D:apache-maven-3.3.9confsettings.xml查找到<mirrors>的位置將<mirror>移到注釋以外,之后修改里面的內(nèi)容,參見maven 鏡像.xml如果團隊配置了倉庫,只需將<mirror>修改成地址。新到一個團隊后也可以向同事索取一份 settings.xml

36、查看倉庫地址第5章 使用 Eclipse 創(chuàng)建 maven 工程5.1 搭建Eclipse Maven 插件環(huán)境如果是高版本的 Eclipse 內(nèi)置 maven 插件,如果是低版本的 Eclipse 需要手動 安裝 M2Eclipse插件。實際開發(fā)中也只使用插件即可,以命令行方式使用 maven. 我們目前eclipse 版本為 neon,自帶了 maven 插件第一步修改工作空間字符集編碼方式為 UTF-8北京動力節(jié)點 第二步修改字體大小北京動力節(jié)點 第三步修改創(chuàng)建 jsp 文件默認的編碼方式北京動力節(jié)點 第四步配置eclipse 使用的 Maven 版本北京動力節(jié)點 第五步執(zhí)行 Maven

37、 本地倉庫位置以及settings.xml 配置文件北京動力節(jié)點 5.2 創(chuàng)建 maven-java 工程第一步創(chuàng)建一個 Maven 工程北京動力節(jié)點 北京動力節(jié)點 北京動力節(jié)點 第二步刪除如下目錄及下面的文件第三步補充缺少的 resources 目錄:在 src/main 下建立 resource 目錄第四步如果出現(xiàn)如下錯誤提示,一般是由于工程沒有實時同步引起的北京動力節(jié)點 選中工程右鍵 MavenàUpdate Project解決方式一解決方式二選中錯誤提示右鍵,Quick Fix第五步這里還有一個警告,因為使用 Maven 默認創(chuàng)建的項目 Eclipse 使用的 JRE 是 1

38、.5選中工程,右鍵>Properties北京動力節(jié)點 將 JRE 版本替換為 1.8第六步修改 pom.xml 文件中 junit 的版本為 4.10,刪除掉 name 和 url 配置(可選)第七步創(chuàng)建 HelloMaven04.java 類北京動力節(jié)點 第八步選中工程右鍵執(zhí)行 test 或者 clean 進試,在執(zhí)行 clean 的時候,發(fā)現(xiàn) target 的目錄一致都會存在,是因為在eclipse 中勾選了 Build Automatically北京動力節(jié)點 5.3 創(chuàng)建 maven-web 工程5.3.1使用tomcat 部署項目第一步打開創(chuàng)建工程向?qū)缦聢D所示北京動力節(jié)點 北京

39、動力節(jié)點 北京動力節(jié)點 第二步補充缺少的 test 目錄,java 目錄,分析比普通的 java 工程多了一個webapp北京動力節(jié)點 第三步修改Eclipse 中 jre 版本第四步配置 tomcat 運行環(huán)境北京動力節(jié)點 第五步創(chuàng)建一個新的 server北京動力節(jié)點 第六步使用以前的方式發(fā)布到 tomcat 中運行5.3.2分析目前工程中存在問題(1) 打開web.xml 文件,默認通過 Maven 創(chuàng)建的web 項目JavaEE版本使用的是 2.3,我們修改修改為 3.1第一步修改 web.xml 文件的配置,使用 Eclipse 創(chuàng)建一個動態(tài)的 web 項目,從中拷貝 web.xml文

40、件的約束信息第二步選中工程右鍵 PropertiesàProject Facets,目前這里使用的還是 2.3 和 1.5,這里設(shè)置的是 Maven 插件的版本,不是 eclipseIDE 的版本北京動力節(jié)點 第三步在 navigator 的 視 圖 下找到項目下的.setting 文件夾,打開文件 ject.facet.core.xml, 將 jdk 從 1.5 修改為 1.8, jst.web 修改成 3.1第四步選中工程右鍵PropertiesàProjectFacets查看效果北京動力節(jié)點 (2) index.jsp 報錯是缺少servlet 和 js

41、p 的 API解決辦法,在 pom.xml 文件中加入相關(guān)的依賴北京動力節(jié)點 5.3.3使用 jetty 插件運行web 工程在 pom.xml 文件中將常用的四個插件配置上,參照插件章節(jié)內(nèi)容北京動力節(jié)點 操作步驟:l打開 run configurations窗口l雙擊 Mavne Build 菜單新建一個運行項,默認為 new configurationsl修改運行項名稱l單擊 Browse workspace 按鈕,選擇要運行的 maven-web 工程l在 Goals 框中輸入:jetty:runl單擊 run 按鈕即可運行 web 工程l跟 tomcat 一樣可以采用運行方式與調(diào)試方式

42、l要停止工程只須單擊 console 窗口上的停止按鈕即可l一個工程只能運行一次l多次運行會導(dǎo)致端口被占用異常,全部停止后重新運行即可北京動力節(jié)點 5.3.4如何去掉 maven 的WARNING Using platform encoding (UTF-8actually) to copy filter需要在<project>中添加<properties>5.3.5內(nèi)存溢出異常在 JRE 選項卡中找到 VMarguments 輸入框粘貼如下內(nèi)容可減少內(nèi)存溢出次數(shù):北京動力節(jié)點 5.3.6關(guān)聯(lián)源碼如果在程序調(diào)試過程中出現(xiàn)無法關(guān)聯(lián)源碼現(xiàn)象,需在運行配置窗口中的source

43、(源碼)選項卡中填加 workspace(工作空間)選項北京動力節(jié)點 第6章 插件是一個執(zhí)行插件的框架,每一個任務(wù)實際上是由插件完成的。Maven插件通常用于:Maven·創(chuàng)建jar 文件·創(chuàng)建war 文件·編譯代碼文件Jetty 插件等等·所有插件只需從.txt中北京動力節(jié)點 6.1 編譯插件6.2 打包插件6.2.1打 jar 包插件6.2.2打 war 包插件北京動力節(jié)點 6.3jetty 插件jetty 插件提供Web 應(yīng)用運行環(huán)境,用來替代的 tomcat 中間件配置 jetty 插件6.3.1l版本 8.5.1 存在 web.xml 中 welcome 配置不起作用的 bugl版本 9.3.7 解決了這個 bug,但要求必須是 jdk1.8lJetty 插件只能配置一個北京動力節(jié)點 6.4 打包后最終名稱該在 build中,用來自定義打包后的 jar 或war 文件的名稱6.5 自定義屬性該位于頂層下,里面可存放多個自定義屬性,常用來定義公共的版本信息第7章 打包7.1Eclipse 工程打 jar 包7.1.1l右擊工程à選擇 exportà輸入 jar

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論