最近幫測試組那邊弄一下jenkins,把生產線也配置一下自動發布,因為都是maven項目,所以這里把安裝maven的過程先記錄一下。
Maven是一個項目構建和管理的工具,其主要服務于基于java平臺的項目構建、依賴管理和項目信息管理。它包含了一個項目對象模型 (Project Object Model),一組標準集合,一個項目生命周期Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。當你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,然后Maven可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。
1.一個項目的構建過成通常包括清理、編譯、測試、打包、集成測試、驗證、部署等。Maven從中抽取了一套完善的、易擴展的生命周期。Maven的生命周期是抽象的,其中的具體任務都交由插件來完成。Maven為大多數構建任務編寫并綁定了默認的插件。
2.Maven定義了三套生命周期:clean、default、site,每個生命周期都包含了一些階段(phase)。三套生命周期相互獨立,但各個生命周期中的phase卻是有順序的,且后面的phase依賴于前面的phase。執行某個phase時,其前面的phase會依順序執行,但不會觸發另外兩套生命周期中的任何phase。
地址:http://maven.apache.org/download.cgi
從上面的地址獲取自己需要的版本。
目錄詳解:
打開我的電腦——屬性——高級系統設置——高級——環境變量,修改系統變量。
添加系統變量,變量名:MAVEN_HOME,變量值:安裝目錄
編輯系統變量Path,添加:Maven根路徑\bin或者%MAVEN_HOME%\bin。
打開cmd.exe,輸入命令mvn --version。出現下圖則為安裝成功。
后面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~
本篇內容主要是基于 Winodows 進行 Maven 的安裝配置。
這里使用 Maven 3.8.3 的版本進行安裝,技術在學習的情況下一定要使用最新的。 這樣你可以踩著很多坑來提升你的技術。并且會教會你更多學習的方法。
Maven 3.8.3 版本支持 Java 7+
官方網站:http://maven.apache.org/
下載地址:https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.zip
這里使用了國內的鏡像進行下載, 可以加速下載速度。
解壓你下載的文件, 解壓之后的目錄為:
把解壓的文件拷貝到一個沒有中文和空格的路徑中。 這樣避免靈異事件。
不過, 這個步驟不強制,根據你的個人習慣就好。 我這里所有的內容截圖都是來自虛擬機, 因為沒有第二個盤符。 所以只能放到系統盤中。這樣安裝就算完成了, 但是需要在進行一些配置。
使用命令行(sysdm.cpl), 或者打開 計算機屬性 -> 高級選項。打開之后頁面如下:
點擊:環境變量,打開環境變量配置頁面。
這里主要配置的就是:MAVEN_HOME 的環境變量,在打開的系統環境變量中點擊 新建 按鈕。
變量名:MAVEN_HOME
變量值:C:\Develop\Java\apache-maven-3.8.3
然后再配置 Path 變量值。找到 Path 打開, 并新建錄入 %MAVEN_HOME%\bin
點擊 確定,確定,確定。環境變量配置好了。 這個時候測試版本信息應該可以顯示出來 Maven 的版本信息了。如下所示:
比較有意思的是OS name: "windows 10" 我使用的是 Windows 11。思考一下為什么會出現這個情況。只是在測試的過程中發現了這個問題, 我就特意的去查詢了一下這段代碼顯示的源碼。可以忽略我的學習過程, 直接翻閱到 繼續配置
這里使用了一個工具 import org.codehaus.plexus.util.Os; 然后找到這個工具的源碼,工具源碼路徑:https://github.com/codehaus/plexus/blob/master/plexus-utils/trunk/src/main/java/org/codehaus/plexus/util/Os.java 。發現也是取得系統環境變量。 然后 cmd 命令行使用 ver 查看版本, 發現內部版本還是 10.0.x
說了題外的話。 這個也是個人的壞毛病。 老是在學習一個知識點的時候, 看到不理解的再去反復查。
除了環境變量還會進行如下的配置信息。 在不進行如下配置的時候, 你的 Maven 也能使用。 但是會使用默認的配置進行下載依賴。 這里理解兩個核心概念就好。
為了指定我們下載的路徑, 不用下載到系統盤。
國內訪問過慢的問題, 加速下載。 加速下載有兩種方式,一種直接使用國內鏡像直接加速, 另外一種自己搭建 Maven 私服。這里演示使用國內鏡像。如果需要關注我, 查看更多 私服搭建 的教程。
不管是進行什么配置, 默認的配置路徑就是 Maven 根目錄/conf/settings.xml
找到 localRepository標簽。可以看到這個標簽的提示信息。 這里的路徑設置的是本地下載依賴的本地路徑。并且在不配置的情況下, 默認的路徑是 ${user.home}/.m2/repository 也就是 用戶/.m2/repository
這里我修改到了 C:/Develop/Java/MavenRepository
<localRepository>C:/Develop/Java/MavenRepository</localRepository>
找到 mirrors 標簽, 并添加 mirror 子節點。
copy 下面的代碼進行配置。
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共倉庫</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
這里暫時的簡單的使用配置完成, 基本上在平常的開發和學習中足夠使用。
這里構建一個最簡單的例子來驗證我們上面的配置信息。
使用命令 mvn archetype:generate 創建一個最簡單的例子。
或者使用指定項目坐標的方式:
mvn archetype:generate -DgroupId=com.xymiao -DartifactId=maven-hello -Dpackaging=com.xymiao -Dversion=0.0.1-SNAPSHOT
可以看到下載的地址已經切換到國內的鏡像。在出現設置 groupId 和 artifactId 的時候, 需要你填入你的信息。 這里不需要知道太多。 按例子填寫就好了。 后續更多篇章會詳細說明。
BUILD SUCCESS 之后, 代表著項目已經下載下來。
查看目錄結構
下載下來之后, 我們進入到我們本地的 Maven 倉庫中。 可以看到本地文件中多了很多的依賴文件。而默認目錄中就沒有對應依賴文件了。
在第一次下載和編譯文件的時候, 會比較慢, 哪怕有鏡像也需要一段時間進行下載。 耐心等待一下就好了, 所需文件下載一次, 以后就會直接使用本地文件。 速度就會快了很多。
使用 mvn package 打包一個可執行的 jar 包。
這里因為默認使用的是jdk5 的原因, 并且 3.8 以上已經不支持 jdk7 以下的版本, 所以會出現錯誤, 可以在 pom.xml 的 properties 中, 加入如下代碼, 指定編譯版本。 我這里使用的 jdk17
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
編譯完成之后。 查看當前項目目錄。
發現多了一個 target 的目錄。 這里就是 Maven 的編譯文件和打包目錄。 這里安裝和簡單的使用就先說到這里了。 當然還有配合 IDE 使用。 后續再進行編寫各個瀏覽器中的使用方式吧。