摘要:基本配置環(huán)境變量環(huán)境變量中添加為主目錄在中添加使用阿里云中央倉(cāng)庫(kù)修改根目錄下文件夾中的文件,內(nèi)容如下創(chuàng)建基于的項(xiàng)目使用命令行創(chuàng)建使用原型插件創(chuàng)建工程。
「博客搬家」 原地址: 簡(jiǎn)書(shū) 原發(fā)表時(shí)間: 2017-03-23
Maven 是基于項(xiàng)目對(duì)象模型「POM」,可以通過(guò)一小段描述信息來(lái)管理項(xiàng)目的構(gòu)建、報(bào)告和文檔的軟件項(xiàng)目管理工具。本文總結(jié)了 Maven 的基本用法。1. Maven 基本配置 1.1 環(huán)境變量
環(huán)境變量中添加「M2_HOME」為 maven 主目錄
在 path 中添加「;%M2_HOME%bin」
1.2 使用 Maven 阿里云中央倉(cāng)庫(kù)修改 Maven 根目錄下 conf 文件夾中的 setting.xml 文件,內(nèi)容如下:
2. 創(chuàng)建基于 Maven 的 Java 項(xiàng)目 2.1 使用命令行創(chuàng)建alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central
Maven 使用原型「archetype」插件創(chuàng)建工程。要?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的 Java 應(yīng)用,我們將使用 maven-archetype-quickstart 插件。
Maven 創(chuàng)建目錄有兩種方式:「archetype 可自動(dòng)創(chuàng)建目錄骨架」
在 cmd 中直接執(zhí)行「mvn archetype:generate」按照提示進(jìn)行選擇,選擇如下 Archetype:
943: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
使用單行命令創(chuàng)建項(xiàng)目,命令格式如下:
mvn archetype:generate -DgourpId = 組織名,公司網(wǎng)址的反寫(xiě) + 項(xiàng)目名稱(chēng) -DartifactId=項(xiàng)目名-模塊名 -Dversion=版本號(hào) -Dpackage=代碼所在的包名
示例如下:
mvn archetype:generate -DgroupId=cc.bitky.demo -DartifactId=demo-module -Dversion=1.0.0-SNAPSHOT -Dpackage=cc.bitky.demo.module2.2 使用InteliJ IDEA 創(chuàng)建
在 InteliJ IDEA 中創(chuàng)建基礎(chǔ)的示例 Maven 項(xiàng)目,依舊選擇:
org.apache.maven.archetypes:maven-archetype-quickstart
如圖所示:
3. 目錄結(jié)構(gòu) 3.1 Maven 項(xiàng)目的目錄結(jié)構(gòu)在 Maven 項(xiàng)目的根目錄下,有如下必要的目錄結(jié)構(gòu):
src
main
resources「存放一些資源文件」
java
package「自定義的包」
test
resources「存放一些資源文件」
java
package
pom.xml
如下圖所示:
3.2 項(xiàng)目根目錄下「pom.xml」的典型結(jié)構(gòu):4. Maven 操作 4.1 構(gòu)建命令4.0.0 maven版本-->cc.bitky.demo 項(xiàng)目的包名-->demo-module 模塊名-->1.0.0-SNAPSHOT 版本-->jar demo-module http://maven.apache.org UTF-8 junit junit 3.8.1 test
mvn -v 版本。
mvn compile 編譯。
mvn test 測(cè)試。
mvn package 打包。
mvn clean 清除maven生成的target目錄。
mvn install 將生成的jar安裝到本地倉(cāng)庫(kù)中。
4.2 生命周期mvn compile: 編譯主程序源代碼,不會(huì)編譯test目錄的源代碼。第一次運(yùn)行時(shí),會(huì)下載相關(guān)的依賴(lài)包,可能會(huì)比較費(fèi)時(shí)
mvn test: 運(yùn)行應(yīng)用程序中的單元測(cè)試,會(huì)生成 target 文件夾:
主程序編譯的字節(jié)碼文件在 classes 下面
測(cè)試程序放在 test-classes 下
所生成的測(cè)試報(bào)告放在 surefire-reports 文件夾下
mvn package 會(huì)在target目錄下生成 Jar 包,如「maven01-model-0.0.1SNAPSHPT.jar」
Maven的生命周期大概如下,這幾個(gè)命令對(duì)應(yīng)了一個(gè)項(xiàng)目的完整的構(gòu)建過(guò)程,這幾個(gè)步驟對(duì)應(yīng)的都有插件來(lái)完成:
clean 「清理」
compile 「編譯」
test 「測(cè)試」
package 「打包」
install「安裝到本地庫(kù)」
Maven的生命周期分為三個(gè)獨(dú)立的生命周期(每一個(gè)生命周期有分為若干個(gè)階段,其中defaul是最核心的一個(gè)):
clean「清理項(xiàng)目」
default「構(gòu)建項(xiàng)目」
site「生成項(xiàng)目的站點(diǎn)」
4.2.1 clean「清理項(xiàng)目」pre-clean 「執(zhí)行清理前的工作」
clean「清理上一次構(gòu)建生成的所有文件」
post-clean「執(zhí)行清理后的文件」
4.2.2 default「構(gòu)建項(xiàng)目」(最核心)compile 「編譯」
test 「測(cè)試」
package 「打包」
install「安裝到本地庫(kù)」
4.2.3 site「生成項(xiàng)目站點(diǎn)」pre-site「在生成項(xiàng)目站點(diǎn)之前要完成的工作」
site「生成項(xiàng)目的站點(diǎn)文檔」
post-site「在生成項(xiàng)目站點(diǎn)后要完成的工作」
site-deploy「發(fā)布生成的站點(diǎn)到服務(wù)器上」
注意
每個(gè)獨(dú)立的生命周期,只需執(zhí)行其中一個(gè)命令,此時(shí)會(huì)從該生命周期的開(kāi)始命令順序執(zhí)行到該命令。
Maven的生命周期對(duì)應(yīng)的命令是順序執(zhí)行的,如果沒(méi)有人為的順序的一個(gè)個(gè)執(zhí)行,那么Maven會(huì)默認(rèn)的自動(dòng)運(yùn)行。
如執(zhí)行「mvn clean test」,則此時(shí)會(huì)順序執(zhí)行「pre-clean clean post-clean compile test」
如執(zhí)行「mvn test」,則此時(shí)會(huì)順序執(zhí)行「compile test」
5. 參考資料Maven 教程 - 「極客學(xué)院 Wiki」
項(xiàng)目管理利器 — maven「慕課網(wǎng)」
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/68254.html
摘要:要從頭開(kāi)始,請(qǐng)繼續(xù)使用構(gòu)建?,F(xiàn)在您已經(jīng)準(zhǔn)備好使用構(gòu)建項(xiàng)目,下一步是安裝。項(xiàng)目使用名為的文件定義。項(xiàng)目所屬的組或組織。默認(rèn)情況下,所有依賴(lài)項(xiàng)都作為依賴(lài)項(xiàng)確定范圍。概要恭喜您已經(jīng)為構(gòu)建項(xiàng)目創(chuàng)建了一個(gè)簡(jiǎn)單而有效的項(xiàng)目定義。 本指南將指導(dǎo)您使用Maven構(gòu)建一個(gè)簡(jiǎn)單的Java項(xiàng)目。 你要構(gòu)建什么 您將創(chuàng)建一個(gè)提供一天中時(shí)間的應(yīng)用程序,然后使用Maven構(gòu)建它。 你需要什么 大約15分鐘 最喜...
摘要:項(xiàng)目構(gòu)建基礎(chǔ)從屬于筆者的現(xiàn)代開(kāi)發(fā)基礎(chǔ)系列文章,介紹了的歷史背景與多種構(gòu)建工具對(duì)比,以及的基本配置安裝與使用本文涉及的參考資料聲明在學(xué)習(xí)與實(shí)踐資料索引以及學(xué)習(xí)與資料索引。 Maven 項(xiàng)目構(gòu)建基礎(chǔ)從屬于筆者的現(xiàn)代 Java 開(kāi)發(fā)基礎(chǔ)系列文章,介紹了 Maven 的歷史背景與多種構(gòu)建工具對(duì)比,以及 Maven 的基本配置安裝與使用;本文涉及的參考資料聲明在 Java 學(xué)習(xí)與實(shí)踐資料索引以及...
摘要:清除構(gòu)建緩存為每一個(gè)服務(wù)的構(gòu)建環(huán)境提供緩存,項(xiàng)目會(huì)對(duì)的安裝目錄,配置目錄,和本地倉(cāng)庫(kù)目錄提供了緩存,用戶(hù)通過(guò)以下設(shè)置清理緩存。本文檔詳細(xì)介紹了源碼構(gòu)建項(xiàng)目時(shí)的各種詳細(xì)設(shè)置與操作。 概述 根據(jù)大量的Rainbond用戶(hù)反饋,我們發(fā)現(xiàn)在Rainbond源碼構(gòu)建java-maven項(xiàng)目的過(guò)程中,最容易出現(xiàn)問(wèn)題的一環(huán)就是獲取構(gòu)件失敗。 比如: [ERROR] Failed to execute...
摘要:在之前,十個(gè)項(xiàng)目可能有十種構(gòu)建方式,但通過(guò),所有項(xiàng)目的構(gòu)建命令都是簡(jiǎn)單一致的。有利于促進(jìn)項(xiàng)目團(tuán)隊(duì)的標(biāo)準(zhǔn)化。手工勞動(dòng)往往意味著低效,意味著容易出錯(cuò)。這在很大程度上消除了重復(fù)。默認(rèn)情況下,該文件夾下放置了本地倉(cāng)庫(kù)。學(xué)習(xí)實(shí)戰(zhàn)許曉斌著 Introduction Maven是一個(gè)異常強(qiáng)大的構(gòu)建工具,能夠幫我們自動(dòng)化構(gòu)建過(guò)程,從清理、編譯、測(cè)試到生成報(bào)告,再到打包和部署。通過(guò)Maven,我們只需要...
摘要:允許將反序列化為沒(méi)有附加注釋元數(shù)據(jù)不可變的類(lèi)。包的庫(kù)經(jīng)常會(huì)想支持多個(gè)版本的這樣做需要構(gòu)建一個(gè)為每個(gè)版本的支持工件它介紹了如何區(qū)分這些工件的問(wèn)題看到像不支持添加額外的元數(shù)據(jù)依賴(lài)關(guān)系的想法來(lái)指定他們需要什么版本的。 1.Defining a Lagom build(定義一個(gè)Lagom構(gòu)建) 正如在Lagom構(gòu)建哲學(xué)中已經(jīng)討論過(guò)的那樣,使用Lagom,您可以自由地將所有服務(wù)組合在一個(gè)單獨(dú)的構(gòu)...
閱讀 3461·2019-08-30 15:55
閱讀 2058·2019-08-30 15:44
閱讀 1464·2019-08-30 12:47
閱讀 752·2019-08-30 11:05
閱讀 1637·2019-08-30 10:54
閱讀 663·2019-08-29 16:07
閱讀 3575·2019-08-29 14:17
閱讀 2234·2019-08-23 18:31