1. 程式人生 > >Maven的建立、標籤以及目錄結構

Maven的建立、標籤以及目錄結構

1、建立第一個Maven專案

  我們將會率先的建立您的第一個Maven專案!為了建立我們的第一個Maven專案,我們將使用Maven的原型機制。原型被定義為一種原始的模式或模型,從這種模式或模型中,所有其他的東西都被製造出來。在Maven中,原型是一個專案的模板,它與一些使用者輸入相結合,生成一個已經根據使用者需求定製的工作Maven專案。我們將向你們展示原型機制是如何運作的,但是如果你們想了解更多關於原型的知識請參考我們對原型的介紹

  建立您的第一個專案!為了建立最簡單的Maven專案,從命令列執行以下命令:

mvn -B archetype:generate  -DarchetypeGroupId=org.apache
.maven.archetypes -DgroupId=com.mycompany.app -DartifactId=my-app

  一旦您執行了這個命令,您就會注意到發生了一些事情。首先,您將注意到,為新專案建立了一個名為my-app的目錄,這個目錄包含一個名為pom的檔案。xml應該是這樣的:

<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> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>Maven Quick Start Archetype</name> <url>http://maven.apache.org</url
>
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> </dependencies> </project>

  pom.xml包含這個專案的專案物件模型(POM)。POM是Maven的基本工作單元。這一點很重要,因為Maven本身就是以專案為中心的,一切都圍繞專案的概念進行。簡而言之,POM包含了您的專案的每一個重要資訊,並且本質上是一種一站式的搜尋,可以找到與您的專案相關的任何東西。瞭解POM是很重要的,並且鼓勵新使用者參考POM的介紹。

2、Maven專案中的標籤及其含義

  這是一個非常簡單的POM,但是仍然顯示每個POM所包含的關鍵元素,所以讓我們遍歷它們,讓您熟悉POM要點:

標籤名稱 標籤含義
project 這是所有Maven pom.xml檔案中的頂級元素。
modelVersion 這個元素表示POM使用的物件模型的版本。模型本身的版本變化很少,但它是強制性的,以確保在Maven開發人員認為有必要更改模型時使用的穩定性。
groupId 這個元素表示建立專案的組織或組的唯一識別符號。groupId是專案的關鍵識別符號之一,它通常基於組織的完全限定域名。例如org.apache.maven.plugins是所有Maven外掛的指定的groupId。
artifactId 此元素表示由該專案生成的主要工件的唯一基本名稱。專案的主要工件通常是JAR檔案。像源包這樣的次要工件也使用artifactId作為其最終名稱的一部分。一個由Maven產生的典型工件將具有這個形式-.(例如,myapp-1.0.jar)。
packaging 這個元素表示這個工件所使用的包型別(例如JAR、WAR、EAR等)。這不僅意味著生成的工件是JAR、WAR或EAR,還可以指示作為構建過程的一部分使用的特定生命週期。(生命週期是我們將在指南中進一步討論的主題。現在,請記住,專案的指示打包可以在定製構建生命週期中發揮一定的作用。)packaging元素的預設值是JAR,所以您不必為大多數專案指定這個值。
version 此元素表示專案生成的工件的版本。Maven在幫助您進行版本管理方面有很長一段路要走,您經常會看到一個版本中的SNAPSHOT設計版本,這表明一個專案處於開發狀態。我們將討論快照的使用以及它們如何在本指南中進一步工作。
name 這個元素表示專案使用的顯示名稱。這通常在Maven生成的文件中使用。
url 這個元素指示專案的站點在哪裡可以找到。這通常在Maven生成的文件中使用。
description 這個元素提供了您的專案的基本描述。這通常在Maven生成的文件中使用。


3、Maven的目錄結構

  關於在POM中使用哪些元素的完整參考資料,由於篇幅比較長,內容比較多,所以說我就不寫下來了,直接上鍊接,如下:

  現在讓我們回到手頭的專案,在您的第一個專案的原型生成之後,您還會注意到以下目錄結構已經建立:

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

  正如您所看到的,從原型建立的專案有一個POM,一個用於您的應用程式原始碼的源樹,以及一個用於測試源的源樹。這是Maven專案的標準佈局(應用程式源位於${basedir}/src/main/java中,測試源位於${basedir}/src/test/java中,${basedir}表示包含pom.xml的目錄)。