Maven手冊

Maven簡介

官網地址:https://maven.apache.org/
apache的一個開源項目純Java開發,用來管理Java項目
好處
統一管理Jar包,節省項目空間;一鍵構建;可以跨平臺;應用於大型項目,可以提高開發效率;

Maven下載安裝

下載地址:https://maven.apache.org/download.cgi
下載Maven
zip包
解壓
解壓後文件列表

Mave配置

環境變量配置

配置MAVEN_HOME

在這裏插入圖片描述

配置Path

在這裏插入圖片描述
追加: %MAVEN_HOME%\bin;

檢查

cmd 運行mvn -v
在這裏插入圖片描述

配置MAVEN配置文件

核心配置文件:
conf/settings.xml

localReposity

取消註釋,配置自己的本地倉庫位置
本地倉庫位置配置
本地倉庫 自己維護
遠程倉庫 公司維護
中央倉庫 maven團隊維護

Maven國內鏡像設置

下面是阿里雲的maven鏡像配置
在這裏插入圖片描述

Maven設置默認JDK

在這裏插入圖片描述

Maven項目

Maven項目目錄結構

項目
–src
—main 主目錄
----java java源碼
----resources 配置文件 properties xml等資源文件
—test 測試目錄
----java 純java代碼 junit測試
----resources junit測試所用的配置文件
–target 編譯後的目錄
—classes
—test-classes
–pom.xml Maven核心配置文件

Maven常用命令

mvn tomcat:run 一鍵啓動
mvn clean 清理編譯好的文件target文件目錄也刪了
mvn compile 編譯主目錄文件
mvn test 編譯並運行了test測試目錄文件
mvn package 打包如war包(名稱、版本號都是在pom.xml文件中配置)
mvn install 把項目發佈到本地倉庫
mvn site 生成項目文檔說明
mvn deploy 將生成包放到遠程倉庫,供其他開發人員使用

Maven生命週期

clean 生命週期
clean
default 生命週期
compile test package install
site 生命週期
site
不同的生命週期的命令可以同時執行。
比如:mvn clean package

Eclipse配置本地Maven

指定本地Maven
修改Maven配置文件

Eclipse中運行Maven項目

右鍵項目名稱,選擇Run As —> Maven build … ----> Goals中輸入:tomcat:run ---->Run

依賴範圍

Compile struts2-core

編譯(compile)時需要 測試時需要,,運行時需要,打包時需要

Provided jsp-api.jar servlet-api.jar

編譯(compile)時需要,測試(test)時也需要 ,運行時不需要,打包時不需要

Runtime 數據庫驅動包

編譯時不需要,測試時需要,,運行時需要,打包時需要

Test junit.jar

編譯時不需要,測試時需要,運行時不需要,打包也不需要

依賴傳遞

在這裏插入圖片描述

依賴版本衝突的解決

條件原則

路徑近者優先原則

在這裏插入圖片描述

第一聲明者優先原則

在這裏插入圖片描述

排除原則

在這裏插入圖片描述

版本鎖定原則

在這裏插入圖片描述

分模塊開發(pom)

暫時未寫

新建父工程

再建子工程

私服 Nexus

安裝私服Nexus

Windows: nexus.bat install

啓動私服Nexus

Windows: nexus.bat start

登錄私服Nexus

用戶名/密碼:admin/admin123

私服倉庫類型

Virtual 虛擬倉庫
Proxy 代理倉庫
Hosted 宿主倉庫 本地倉庫
Group 組

上傳發布依賴包到私服上

修改settings.xml文件

配置連接私服的用戶和密碼

 <server>
      <id>releases</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
	<server>
      <id>snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>

配置項目pom.xml文件

配置私服倉庫的地址,如果版本爲release則上傳到私服的release倉庫,如果版本爲snapshot則上傳到私服的snapshot倉庫

<distributionManagement>
  	<repository>
  		<id>releases</id>
	<url>http://localhost:8081/nexus/content/repositories/releases/</url>
  	</repository> 
  	<snapshotRepository>
  		<id>snapshots</id>
	<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
  	</snapshotRepository> 
  </distributionManagement>

注意:pom.xml這裏 和 settings.xml 配置 對應!

執行deploy命令發佈到私服

Run As —> maven build … —> deploy

從私服下載依賴包

修改settings.xml配置文件

<profile>   
	<!--profile的id-->
    <id>dev</id>   
    <repositories>   
      <repository>  
		<!--倉庫id,repositories可以配置多個倉庫,保證id不重複-->
        <id>nexus</id>   
		<!--倉庫地址,即nexus倉庫組的地址-->
        <url>http://localhost:8081/nexus/content/groups/public/</url>   
		<!--是否下載releases構件-->
        <releases>   
          <enabled>true</enabled>   
        </releases>   
		<!--是否下載snapshots構件-->
        <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>  

激活

  <activeProfiles>
    <activeProfile>dev</activeProfile>
  </activeProfiles>

下載

右鍵工程目錄-----Maven------Update Project …

MAVEN常見問題

Eclipse創建maven web項目pom文件報錯

報:web.xml is missing and is set to true
如下創建web.xml可解決
在這裏插入圖片描述

Eclipse中maven項目名稱紅叉

右鍵maven項目,選擇maven—update project,讓其他自動更新jdk版本,處理編譯版本

Eclipse中maven的pom文件添加依賴搜索不到,沒有建索引

打開Maven Repositories找到Local Repository右鍵rebuild index就可以了
在這裏插入圖片描述

解決包依賴衝突問題

可以在dependencies中選擇會產生衝突的包,點擊properties,然後將scope選擇爲provided

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章