溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Maven如何使用

發(fā)布時間:2022-09-28 11:29:56 來源:億速云 閱讀:132 作者:iii 欄目:開發(fā)技術

這篇文章主要講解了“Maven如何使用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Maven如何使用”吧!

安裝

Maven 是一個 Java 工具,因此您必須安裝Java才能繼續(xù)。

首先,下載 Maven并按照安裝說明進行操作。之后,在終端或命令提示符中鍵入以下內容:

mvn --version

它應該打印出您安裝的 Maven 版本,例如:

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)Maven home: D:\apache-maven-3.6.3\apache-maven\bin\..Java version: 1.8.0_232, vendor: AdoptOpenJDK, runtime: C:\Program Files\AdoptOpenJDK\jdk-8.0.232.09-hotspot\jreDefault locale: en_US, platform encoding: Cp1250OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

根據(jù)您的網(wǎng)絡設置,您可能需要額外的配置。如有必要,請查看配置 Maven的指南。

如果您使用的是 Windows,您應該查看 Windows 先決條件 以確保您準備好在 Windows 上使用 Maven。

創(chuàng)建項目

您需要在某個地方放置您的項目。在某處創(chuàng)建一個目錄并在該目錄中啟動一個 shell。在命令行上,執(zhí)行以下 Maven 目標:

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

如果您剛剛安裝了 Maven,第一次運行可能需要一段時間。這是因為 Maven 正在將最新的工件(插件 jar 和其他文件)下載到您的本地存儲庫中。您可能還需要多次執(zhí)行該命令才能成功。這是因為遠程服務器可能會在您的下載完成之前超時。別擔心,有辦法解決這個問題。

您會注意到generate目標創(chuàng)建了一個與 artifactId 同名的目錄。切換到那個目錄。

cd my-app

在此目錄下,您會注意到以下標準項目結構。

my-app
|-- pom.xml`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

該src/main/java目錄包含了項目的源代碼,該src/test/java目錄包含測試源,并且pom.xml文件是項目的項目對象模型,或POM。

POM

該pom.xml文件是 Maven 中項目配置的核心。它是一個單一的配置文件,其中包含以您想要的方式構建項目所需的大部分信息。POM 是巨大的,其復雜性可能令人生畏,但為了有效地使用它,沒有必要了解所有的復雜性。這個項目的POM是:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
  </dependencies></project>

構建項目

mvn package

命令行將打印出各種操作,并以以下內容結束:

 ...[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time:  2.953 s[INFO] Finished at: 2019-11-24T13:05:10+01:00[INFO] ------------------------------------------------------------------------

與執(zhí)行的第一個命令(archetype:generate)不同,第二個命令只是一個單詞 - package。這不是一個目標,而是一個階段。階段是構建生命周期中的一個步驟,它是一個有序的階段序列。當給出一個階段時,Maven 執(zhí)行序列中的每個階段,直到并包括定義的階段。例如,如果您執(zhí)行編譯階段,實際執(zhí)行的階段是:

證實

生成源

流程來源

生成資源

流程資源

編譯

您可以使用以下命令測試新編譯和打包的 JAR:

java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App

這將打印精髓:

Hello World!

運行 Maven 工具

Maven 階段

雖然不是一個完整的列表,但這些是執(zhí)行的最常見的默認生命周期階段。

validate : 驗證項目是否正確并且所有必要的信息都可用

compile : 編譯項目的源代碼

test:使用合適的單元測試框架測試編譯的源代碼。這些測試不應該要求打包或部署代碼

package:將編譯后的代碼打包成可分發(fā)的格式,例如 JAR。

集成測試:如有必要,處理包并將其部署到可以運行集成測試的環(huán)境中

驗證:運行任何檢查以驗證包是否有效并符合質量標準

install : 將包安裝到本地倉庫中,作為本地其他項目的依賴

deploy:在集成或發(fā)布環(huán)境中完成,將最終包復制到遠程存儲庫以與其他開發(fā)人員和項目共享。

除了上面的默認列表之外,還有另外兩個值得注意的Maven生命周期。他們是

clean:清除先前構建創(chuàng)建的工件

site : 為這個項目生成站點文檔

階段實際上映射到潛在目標。每個階段執(zhí)行的具體目標取決于項目的打包類型。例如,如果項目類型是 JAR ,package 將執(zhí)行jar:jar,如果項目類型是 - 你猜對了 - WAR ,則執(zhí)行war:war。

需要注意的一件有趣的事情是階段和目標可以按順序執(zhí)行。

mvn clean dependency:copy-dependencies package

此命令將清理項目、復制依賴項并打包項目(當然,執(zhí)行到package 之前的所有階段)。

感謝各位的閱讀,以上就是“Maven如何使用”的內容了,經(jīng)過本文的學習后,相信大家對Maven如何使用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI