信步漫談之Maven—基礎介紹

Maven 是一個項目管理和構建自動化工具,最直接的講,就是能夠經過配置 pom.xml 文件關聯 jar 倉庫中的 jar 包,方便項目的管理。
通常狀況下,maven 項目的結構都以下所示:java

這裏寫圖片描述

1、Maven安裝

1)下載 maven 安裝包,例如:apache-maven-3.0.5(官網:http://maven.apache.org/)
2)maven 環境變量配置,配置方式跟 jdk 有些相似。新建環境變量 MAVEN_HOME(值爲 maven 的根目錄)、而後在 PATH 環境變量里加入 %MAVEN_HOME%\bin; 便可。
3)設置 setting.xml 文件,配置本地倉庫。apache-maven-3.0.5\conf下有個 setting.xml 文件,打開,localRepository 的值設置成本地倉庫的路徑。web

settings.xml

4)在 eclipse 上安裝 maven 插件(下載插件包,解壓後把對應的 features 和 plugins 這兩個文件夾的內容複製到 eclipse 相同文件夾裏面便可,而後重啓 eclipse),打開 Window->Preferences,能夠看到 Maven 配置項。apache

image

5)Windows–>Prefrences–>Installations–>Add。installation name 選 maven 的根目錄(就是以前本地安裝的 apache-maven-3.0.5),OK 便可。安全

注意:
1.eclipse 在安裝 maven 插件後,默認使用 Maven 的 setting.xml 文件讀取目錄爲 C:\Users\ 當前登陸用戶名 \.m2,可是他不會自動生成 setting.xml 文件,須要咱們手動加入。
2.eclipse 在安裝 maven 插件後,也有一個內嵌的 maven,這個內嵌的 Maven 一般會比較新,但不必定很穩定,並且每每也會和咱們在命令行使用的 Maven 不是同一個版本。這裏有會出現兩個潛在的問題:首先,較新版本的 Maven 存在不少不穩定因素,容易形成一些難以理解的問題;其次,除了 IDE,咱們也常常還會使用命令行的 Maven,若是版本不一致,容易形成構建行爲的不一致,這是咱們所不但願看到的。所以,咱們應該在 IDE 中配置 Maven 插件時使用與命令行一致的 Maven。服務器

2、建立Maven項目

在 eclipse 中右鍵建立項目 New->Other,選擇 Maven 項目網絡

image

image

image

這時候,咱們有個可選項 Create a simple project(skip archetype selection),eclipse 默認會爲使用者提供一些 maven 項目骨架,若是勾選了這項,則咱們將跳過使用默認骨架,本身定義 maven 項目的基礎結構。app

image

groupId:項目或者組織的惟一標誌,而且配置時生成路徑也是由今生成,如 com.alfred.test 生成的相對路徑爲:/com/alfred/test
artifactId:項目的通用名稱
version:項目的版本
packaging:打包機制,如 pom,jar,maven-plugin,ejb,war,ear,rar,par,通常 java 項目選址 jar,web 項目選址 war
name:用戶描述項目的名稱,可有可無的東西,可選
description:應該是隻是寫明開發團隊的網站,可有可無,可選eclipse

imageimage

注意:在實際項目中,若是須要添加外部依賴 jar 包,能夠在 pom.xml 中添加依賴節點 dependencies->dependencywebapp

<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.alfred.jetty</groupId>
    <artifactId>jetty-base</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <name>Jetty基礎</name>
    <packaging>war</packaging>
    <dependencies>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-server</artifactId>
            <version>8.1.19.v20160209</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-webapp</artifactId>
            <version>8.1.19.v20160209</version>
        </dependency>
        <dependency>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-servlet</artifactId>
            <version>8.1.19.v20160209</version>
        </dependency>
    </dependencies>
</project>

3、Maven的經常使用命令

1. 建立 Maven 的普通 java 項目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
2. 建立 Maven 的 Web 項目:
mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
3. 編譯源代碼:mvn compile
4. 編譯測試代碼:mvn test-compile
5. 運行測試:mvn test
6. 產生site:mvn site
7. 打包:mvn package
8. 在本地 Repository 中安裝 jar:mvn install
9. 清除產生的項目:mvn clean
10. 生成 eclipse 項目:mvn eclipse:eclipse
11. 生成 idea 項目:mvn idea:idea
12. 組合使用 goal 命令,如只打包不測試:mvn -Dtest package
13. 編譯測試的內容:mvn test-compile
14. 只打 jar 包: mvn jar:jar
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile
( -skipping 的靈活運用,固然也能夠用於其餘組合命令)
16. 清除 eclipse 的一些系統設置:mvn eclipse:cleanmaven

相關文章
相關標籤/搜索