日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

《maven官方文档》5分钟开始Maven

發(fā)布時(shí)間:2025/3/21 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《maven官方文档》5分钟开始Maven 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文地址

前提

你必須明白如何在電腦上安裝軟件。如果你不知道如何做,請(qǐng)向你學(xué)校、辦公室里等的人請(qǐng)教下,或者付費(fèi)給他人讓他們解釋給你。Maven郵件組不是尋求這個(gè)建議的最好地方。

安裝

Maven是個(gè)Java工具,所以你必須安裝了Java才能繼續(xù)。首先,下載Maven,然后按照安裝指南。完成后,在終端或命令行中鍵入如下指令:

1 mvn --version

應(yīng)該會(huì)打印已安裝Maven的版本。例如:

1 Apache Maven?3.0.5?(r01de14724cdef164cd33c7c8c2fe155faf9602da;?2013-02-19?14:51:28+0100)
2 Maven home: D:\apache-maven-3.0.5\bin\..
3 Java version:?1.6.0_25, vendor: Sun Microsystems Inc.
4 Java home: C:\Program Files\Java\jdk1.6.0_25\jre
5 Default locale: nl_NL, platform encoding: Cp1252
6 OS name:?"windows 7", version:?"6.1", arch:?"amd64", family:?"windows"

基于你的網(wǎng)絡(luò)設(shè)置,你需要額外的配置。如果有必要的話看看Maven配置指南.如果你在使用Windows,你應(yīng)該查看Windows前提以確保你已準(zhǔn)備好在Windows上使用Maven。

創(chuàng)建一個(gè)項(xiàng)目

你需要一個(gè)給你項(xiàng)目保存的地方。在某處創(chuàng)建一個(gè)目錄,然后在這個(gè)目錄里開(kāi)始shell。在你的命令行上,執(zhí)行如下Maven語(yǔ)言:

1 mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

如果你已安裝Maven,第一次執(zhí)行這個(gè)需要一定時(shí)間。這是因?yàn)镸aven在下載最新的物件(jar插件和其他文件)到你的本地倉(cāng)庫(kù)。在成功前,也需要你執(zhí)行幾次命令。這是因?yàn)樵谙螺d完成前,遠(yuǎn)程服務(wù)器可能超時(shí)。別擔(dān)心,有幾種解決這個(gè)的方法。

你講看見(jiàn)生成語(yǔ)言創(chuàng)建了一個(gè)和物件ID相同名字的目錄。變更到這個(gè)目錄:

1 cd my-app

使用這個(gè)目錄,你講看到如下標(biāo)準(zhǔn)目錄結(jié)構(gòu):

01 my-app
02 |-- pom.xml
03 `-- src
04 ????|-- main
05 ????|?? `-- java
06 ????|?????? `-- com
07 ????|?????????? `-- mycompany
08 ????|?????????????? `-- app
09 ????|?????????????????? `-- App.java
10 ????`-- test
11 ????????`-- java
12 ????????????`-- com
13 ????????????????`-- mycompany
14 ????????????????????`-- app
15 ????????????????????????`-- AppTest.java

src/main/java目錄包含項(xiàng)目源代碼,src/test/java目錄包含檢查源代碼,pom.xml是項(xiàng)目的項(xiàng)目對(duì)象模型,或POM。

POM

在Maven里,pom.xml文件是項(xiàng)目配置的核心。它是一個(gè)獨(dú)立的配置文件,包含了你想要的方式下建立項(xiàng)目所必須的主要信息。POM是巨大的,其復(fù)雜度使人苦惱。但你只需要有效地使用它,沒(méi)有必要明白所有的錯(cuò)綜復(fù)雜。項(xiàng)目的POM是:

01 <project xmlns="http://maven.apache.org/POM/4.0.0"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
02 ??xsi:schemaLocation="http://maven.apache.org/POM/4.0.0?http://maven.apache.org/xsd/maven-4.0.0.xsd">
03 ??<modelVersion>0.0</modelVersion>
04 ?
05 ??<groupId>mycompany.app</groupId>
06 ??<artifactId>my-app</artifactId>
07 ??<version>0-SNAPSHOT</version>
08 ??<packaging>jar</packaging>
09 ?
10 ??<name>Maven Quick Start Archetype</name>
11 ??<url>http://maven.apache.org</url>
12 ??<dependencies>
13 ????<dependency>
14 ??????<groupId>junit</groupId>
15 ??????<artifactId>junit</artifactId>
16 ??????<version>8.2</version>
17 ??????<scope>test</scope>
18 ????</dependency>
19 ??</dependencies>
20 </project>

?

只需要我做的是什么?

你執(zhí)行了Maven語(yǔ)言原型:generate,向這個(gè)語(yǔ)言傳了許多參數(shù)。前綴原型是包含這個(gè)語(yǔ)言的插件。如果你熟悉Ant,你可以設(shè)想這個(gè)是相同的任務(wù)。基于一個(gè)原型,這個(gè)語(yǔ)言創(chuàng)建了一個(gè)簡(jiǎn)單的項(xiàng)目?,F(xiàn)在可以說(shuō),插件是個(gè)有通用目的的語(yǔ)言的集合。例如jboss-maven-plugin,目的是“處理大量jboss條目”。

建設(shè)項(xiàng)目

1 mvn?package

命令行會(huì)打印出各種指令,并具有以下結(jié)尾:

1 ...
2 [INFO] ------------------------------------------------------------------------
3 [INFO] BUILD SUCCESSFUL
4 [INFO] ------------------------------------------------------------------------[INFO] Total time:?2?seconds
5 [INFO] Finished at: Thu Jul?07?21:34:52?CEST?2011
6 [INFO] Final Memory: 3M/6M
7 [INFO] ------------------------------------------------------------------------

不像第一個(gè)執(zhí)行的命令(archetype:generate),你可能注意到第二個(gè)命令是簡(jiǎn)單的一個(gè)詞-package。這是個(gè)階段實(shí)行而不是語(yǔ)言。實(shí)行階段是[建設(shè)生命周期]( https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)里的而一個(gè)步驟,是一系列有序的階段。當(dāng)給出一個(gè)實(shí)行階段,Maven將執(zhí)行序列里的每一個(gè)階段,并且包括定義的階段。例如,如果我們執(zhí)行編譯階段,實(shí)際上得到執(zhí)行的階段是:

  • 驗(yàn)證
  • 編譯代碼
  • 處理代碼
  • 生成資源文件
  • 處理資源文件
  • 編譯
  • 您可以使用以下命令測(cè)試新編譯和打包的JAR:
    1 java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

    將打印經(jīng)典語(yǔ)句:

    1 Hello World!

    運(yùn)行Maven工具

    Maven階段

    盡管幾乎沒(méi)有一個(gè)全面的清單,這些都是執(zhí)行最常用的默認(rèn)生命周期階段。

    • 驗(yàn)證:驗(yàn)證項(xiàng)目是正確的,所有必要的信息
    • 編譯:編譯項(xiàng)目的源代碼
    • 測(cè)試:使用合適的單元測(cè)試框架測(cè)試編譯的源代碼。?這些測(cè)試應(yīng)該不需要代碼被打包或部署
    • :把編譯后的代碼,并在其分發(fā)格式打包,例如一個(gè)JAR。
    • 集成測(cè)試:如果需要,處理和部署包到集成測(cè)試可以運(yùn)行的環(huán)境
    • 驗(yàn)證:運(yùn)行任何檢查,以驗(yàn)證包是有效的,同時(shí)符合質(zhì)量標(biāo)準(zhǔn)
    • 安裝:包本地安裝到本地存儲(chǔ)庫(kù)中,用作本地其他項(xiàng)目的依賴
    • 部署:在集成或發(fā)布環(huán)境中進(jìn)行,復(fù)制最終的包到遠(yuǎn)程倉(cāng)庫(kù)與其他開(kāi)發(fā)者和項(xiàng)目共享。

    還有值得注意的另外兩個(gè)Maven的生命周期超出上面的默認(rèn)列表。?他們是

    • 清潔:清理之前建立創(chuàng)建的工件
    • 網(wǎng)站:生成此項(xiàng)目的站點(diǎn)文檔,

    實(shí)行階段實(shí)際上映射到底層的語(yǔ)言。?每階段中執(zhí)行的具體語(yǔ)言是取決于項(xiàng)目的包類(lèi)型。?例如,?packet執(zhí)行的jar:jar,如果項(xiàng)目類(lèi)型為JAR和war:war?,如果項(xiàng)目類(lèi)型是-你猜對(duì)了-WAR。

    需要注意的一個(gè)有趣的事情是,階段和語(yǔ)言,可以按順序執(zhí)行。

    1 mvn clean dependency:copy-dependencies?package

    此命令將清理項(xiàng)目,復(fù)制依賴關(guān)系,并打包項(xiàng)目(當(dāng)然執(zhí)行各個(gè)階段到包?)。

    生成站點(diǎn)

    1 mvn site

    這個(gè)階段產(chǎn)生基于對(duì)項(xiàng)目的POM信息的站點(diǎn)。你可以看一下在target/site生成的文檔。

    結(jié)論

    我們希望這一快速瀏覽已經(jīng)激起了你的Maven中的通用性興趣。請(qǐng)注意,這是一個(gè)非常截?cái)嗫焖偃腴T(mén)指南?,F(xiàn)在,你已經(jīng)準(zhǔn)備好關(guān)于你剛才執(zhí)行的動(dòng)作更全面的信息。?看看Maven的入門(mén)指南?。

    原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明:?轉(zhuǎn)載自并發(fā)編程網(wǎng) – ifeve.com本文鏈接地址:?《maven官方文檔》5分鐘開(kāi)始Maven

    from:?http://ifeve.com/getting_started_in_five_minutes/

    總結(jié)

    以上是生活随笔為你收集整理的《maven官方文档》5分钟开始Maven的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。