1. 程式人生 > >java技術學習筆記:Maven安裝和作用

java技術學習筆記:Maven安裝和作用

Maven是一個基於專案物件模型(POM)的概念的純java開發的開源的專案管理工具。主要用來管理java專案,進行依賴管理(jar包管理,能自動分析專案所需的依賴軟體包,併到Maven倉庫區下載)和專案構建(專案打包和部署)。此外還能分塊開發,提高開發效率。

本文將從以下三個方面寫起:

1、Maven的作用

2、Maven的安裝配置

3、IDEA配置Maven

1、Maven的作用,為什麼要使用Maven

(1)建立專案,自動關聯和下載依賴的jar包。

(2)升級框架的版本。升級某個框架的版本,但卻不知道與它相關聯的哪幾個jar也需要跟著升級,和升級到哪個版本。

(3)自動部署。用Maven只需一個命令,就可以把專案自動部署到遠端伺服器上。

(4)專案編譯打包匯出。這個隨意一個IDE都能做到,所以如果要Maven做這件事,可能的場景,就是做沒有裝IDE的環境裡,比如在伺服器端Linux環境下。

2、Maven的安裝配置

1、下載maven 的地址:http://maven.apache.org/download.cgi

2、解壓,然後再"我的電腦"--右鍵--"屬性"--"高階系統設定"--"環境變數"中新增如下資訊:

a、新增變數MAVEN_HOME的值為Maven的安裝資料夾

b、在PATH變數中新增:%MAVEN_HOME%\bin

3、驗證配置是否成功,開啟cmd,輸入:mvn -version

Maven配置檔案(settings.xml)具體說明

1.localRepository:設定本地倉庫:

<localRepository>C:\software\repository</localRepository>

2.pluginGroups:外掛組合

3.proxies:代理

4.servers伺服器(其中username和password是私服的使用者名稱和密碼,後續配置私服說明)

<server>

<id>user-releases</id>

<username>admin</username>

<password>123456</password>

</server>

<server>

<id>user-snapshots</id>

<username>admin</username>

<password>wangwujuan</password>

</server>

5.mirrors:映象路徑

<!-- 阿里映象 -->

<mirror>

<id>alimaven</id>

<name>aliyun maven</name>

<url>http://maven.aliyun.com/nexus/content/groups/public/</url>

<mirrorOf>central</mirrorOf>

</mirror>

6.profiles:伺服器配置

<!--伺服器的配置-->

<profile>

<id>nexusProfile</id>

<repositories>

<repository>

<id>nexus</id>

<name>nexus</name>

<url>http://localhost:8081/nexus/content/groups/public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<!-- 外掛倉庫,maven的執行依賴外掛,也需要從私服下載外掛 -->

<pluginRepository>

<!-- 外掛倉庫的id不允許重複,如果重複後邊配置會覆蓋前邊 -->

<id>public</id>

<name>Public Repositories</name>

<url>http://localhost:8081/nexus/content/groups/public/</url>

</pluginRepository>

</pluginRepositories>

</profile>

<!-- java編譯外掛,配jdk的編譯版本-->

<profile>

<id>jdk-1.8</id>

<activation>

<activeByDefault>true</activeByDefault>

<jdk>1.8</jdk>

</activation>

<properties>

<maven.compiler.source>1.8</maven.compiler.source>

<maven.compiler.target>1.8</maven.compiler.target>

<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

</properties>

</profile>

7.activeProfiles:啟用私服

<activeProfiles>

<activeProfile>nexusProfile</activeProfile>

</activeProfiles>

Maven倉庫說明

儲存jar的倉庫(3種倉庫)

1.本地倉庫:儲存在本地磁碟,預設在系統盤c盤 使用者名稱/.m2/xx

通過settings.xml 更改本地倉庫localRepository

2.遠端倉庫:一般都使用國內映象或者公司自己搭建私服. 一般用Nexus

目的:加快下載速度

3.Maven(中央)倉庫:Maven團隊維護的jar包倉庫 http://repo1.maven.org/maven2/

一般用這個查POM:http://mvnrepository.com/

檢索順序:先檢索本地倉庫--再檢索遠端倉庫--最後檢索中央倉庫

Maven管理專案週期

1. Clean:專案構建前的清理操作

2. Default: 核心生命週期核心過程:編譯,執行,打包等等

3. Site:釋出站點,生成報告等等,

3、IDEA配置Maven

IDEA內部集成了Maven,也可以配置成自己安裝的Maven

File ----> Settings ----> 找到Maven,配置Maven home directory

建立Maven專案

File ----> New ----> Project ----> Maven

勾選Create from archetype

選擇maven-archetype-webapp

點選Next

輸入GroupId、ArtifactId點選Next

選擇Maven的版本

輸入專案名稱和目錄,點選Finish

建立專案後,點選Import Changes按鈕,會下載需要的jar包和外掛

Maven專案說明

src/main/java:存放專案的.java檔案

src/main/resources:存放專案資原始檔。如何Spring,Hibernate配置檔案

src/test/java:存放所有測試的.java檔案.如Junit測試類

pom.xml(maven專案核心配置檔案)

pom.xml預設內容介紹:

<!-- maven中model的版本號 -->

<modelVersion>4.0.0</modelVersion>

<!-- 公司名稱或組織名稱或者個人名稱 -->

<groupId>com.sky</groupId>

<!--專案名稱 -->

<artifactId>FirstMaven</artifactId>

<!-- 版本號 -->

<version>1.0</version>

<!-- 打包方式 :專案型別

POM:MAVEN專案,常用在繼承和聚合上

JAR:JAVASE專案,沒有網頁,跟伺服器沒關係

WAR:JAVAEE專案,跟伺服器沒關係-->

<packaging>war</packaging>

Maven工程新增依賴

推薦網站:http://mvnrepository.com/

示例:

<dependencies>

<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->

<dependency>

<groupId>org.hibernate</groupId>

<artifactId>hibernate-core</artifactId>

<version>5.2.10.Final</version>

</dependency>

</dependencies>

新增到專案的pom檔案內容說明(切換pom.xml到Dependencies目錄下):

type:型別

取值說明:

jar:jar包

Scope:宣告jar包的存活時間

取值說明:

1、provided:編譯和測試時需要

2、compile:編譯、測試、執行、打包需要

3、runtime:測試、執行、打包需要

4、test:測試

5、system:編譯和測試時需要,顯示引用,Maven不會檢索

更多技術分享,歡迎持續關注~