成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

使用 Maven 構(gòu)建 Java 項(xiàng)目

printempw / 1848人閱讀

摘要:基本配置環(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)容如下:


  
    alimaven
    aliyun maven
    http://maven.aliyun.com/nexus/content/groups/public/
    central
  
2. 創(chuàng)建基于 Maven 的 Java 項(xiàng)目 2.1 使用命令行創(chuàng)建

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.module
2.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.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
      
      
        
      
    
  
  
  
    
      
    
  
  
  
    
    
      
        
        
        
        
      
    
  
  
  
  
  
    
  
4. Maven 操作 4.1 構(gòu)建命令

mvn -v 版本。

mvn compile 編譯。

mvn test 測(cè)試。

mvn package 打包。

mvn clean 清除maven生成的target目錄。

mvn install 將生成的jar安裝到本地倉(cāng)庫(kù)中。

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」

4.2 生命周期

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

相關(guān)文章

  • 使用Maven構(gòu)建Java項(xiàng)目

    摘要:要從頭開(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分鐘 最喜...

    mushang 評(píng)論0 收藏0
  • Maven 項(xiàng)目構(gòu)建基礎(chǔ)

    摘要:項(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í)踐資料索引以及...

    2501207950 評(píng)論0 收藏0
  • RAINBOND源碼構(gòu)建JAVA項(xiàng)目配置MAVEN倉(cāng)庫(kù)

    摘要:清除構(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...

    MockingBird 評(píng)論0 收藏0
  • Maven實(shí)戰(zhàn)之Quick Start

    摘要:在之前,十個(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,我們只需要...

    Yi_Zhi_Yu 評(píng)論0 收藏0
  • Lagom參考指南(二)

    摘要:允許將反序列化為沒(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)...

    import. 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<