maven環境搭建及簡單介紹

首先說明一下,這篇文章并沒有涉及maven在eclipse中的使用,搭建的環境只是支持了maven的命令,文章中的這個小例子是用記事本寫的。關于eclipse配置maven,下篇文章會講。

一、Maven環境搭建

maven是使用java開發的,所以要使用maven,必須得有jdk,這里就不再贅述了。

(1)http://maven.apache.org/下載相應的壓縮包
(2)配置環境變量
在系統變量中添加M2_HOME,值為Maven的安裝路徑
在Path值的后面添加;%M2_HOME%\bin
(3)在命令行中輸入mvn -v

4.png

如果顯示如上圖,則說明配置成功,否則檢查一下哪步出錯了。

二、Maven介紹

(1)maven兩大核心

  • 依賴管理:對jar包進行管理。

  • 項目構建:項目在編碼完成后,對項目進行編譯、測試、打包、部署都可以通過命令來實現。

(2)maven倉庫類型

  • 本地倉庫:在個人的計算機上。
  • 私服:存在于局域網上的一臺服務器。
  • 中央倉庫:在互聯網上,有maven團隊進行維護。
3.png

如果我們擁有一個中央的倉庫那該多好,想用什么jar包就用什么jar,但無奈那堵墻,使得中央倉庫的下載速度很慢。我們可以使用阿里云的maven鏡像,里面的jar是比較全的,關鍵下載速度還快。只需要在我們解壓出來的maven壓縮包里的conf文件夾下的settings.xml配置一下就可以了。打開找到 <mirrors>標簽,在里面加上下面的代碼

<mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
</mirror>

三、Maven項目的目錄結構

src
? ? ? ?-main
? ? ? ? ? ? ? ?-java
? ? ? ? ? ? ? ? ? ? ? ?-package
? ? ? ?-test
? ? ? ? ? ? ? ?-java
? ? ? ? ? ? ? ? ? ? ? ?-package
? ? ? ?-resources

四、maven常用命令

介紹命令之前,先創建好maven項目并寫一些代碼。


項目的目錄結構

在main文件夾下有一個Maven01.java

package com.codeliu.maven;

public class Maven01 {
    public String say() {
        return "Hello world";
    }
}

在test 文件夾下有一個MavenTest.java

package com.codeliu.maven;

import org.junit.*;
public class MavenTest {
    @Test
    public void testMaven01() {
        Assert.assertEquals("Hello world", new Maven01().say());
    }
}

下面開始介紹命令。

(1)mvn compile

聽名字都知道,這個肯定是編譯,將.java文件編譯成.class文件。

我們進入項目的根目錄下,輸入這個命令,會發現根目錄下會多一個target的文件夾,里面就有.class文件。

(2)mvn clean

這個命令,可以清除我們生成的.class文件,執行此命令后,target文件夾會消失。

(3)mvn test

執行此命令后,就會運行test文件夾下的測試代碼


6.png

注意:測試代碼必須放在test文件下,且必須以*Test.java命名。

(4)mvn package

這個命令是把項目進行打包,如果是普通的java項目,就會打包成jar,如果是web項目,就會打包成war。

7.png

它會存放在我們項目根目錄下的target文件夾下。

8.png

(5)mvn install

有時候如果我們一個項目要用到另一個項目的一些代碼,那肯定是copy啊,現在使用maven就不一樣了,我們可以使用mvn install命令,將我們自己的項目生成jar包,這樣其他項目要使用只需要import一下就可以了。


9.png

可以看到,把生成的jar包放在了這個目錄下,其實這個目錄就是我們maven本地倉庫的默認路徑(如果你沒有進行修改的話)


11.png

五、maven項目的生命周期

在maven中存在“三套”生命周期,它們互不影響,相互獨立。

  • CleanLifeCycle:清理生命周期,對應上面的clean命令。

  • defaultLifeCycle:默認生命周期,compile,test,package,install,deploy(部署)。

  • siteLifeCycle:站點生命周期。site。

為啥說它們互不影響呢?因為執行clean命令,并不會執行默認生命周期中的命令,執行compile命令,也不會執行clean命令。但如果你執行install命令,那么前面的compile,test,package操作都會執行。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容