maven的使用

0907

1)目前所學技術(三層體系架構)

在這裏插入圖片描述

2)構建項目

[外鏈圖片轉存失敗(img-DBMqL9bO-1568252618629)(C:\Users\15566\AppData\Roaming\Typora\typora-user-images\1568118468566.png)]

3)配置settings.xml文件

配置jdk

​ jdk18

​ true

​ 1.8

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

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

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

​ nexus-aliyun

​ *

​ Nexus aliyun

​ http://maven.aliyun.com/nexus/content/groups/public

G:\Maven\repository

4)maven工程的座標和倉庫中路徑的對應關係

[外鏈圖片轉存失敗(img-slUiIGg1-1568252618631)(C:\Users\15566\AppData\Roaming\Typora\typora-user-images\1568125419362.png)]

5)一些概念介紹

1 Project:任何您想build(構建)的事物,Maven都可以認爲它們是工程(項目)。這些工程被定義爲工程對象模型(POM,Poject Object Model)。一個工程可以依賴其它的工程;一個工程也可以由多個子工程構成。

依賴:一個項目需要使用另一個項目*,*項目可以被拆分多個模塊

2 POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元數據文件,POM文件位於每個工程的根目錄中。

2GroupID是項目組織唯一的標識符,實際對應JAVA的包的結構,是main目錄裏java的目錄結構groupId要求:全球唯一,一般情況使用域名倒寫。

3 ArtifactID就是項目的唯一的標識符,實際對應項目的名稱,就是項目根目錄的名稱。

4 Dependency:依賴,爲了能夠build或運行,一個典型的Java工程會依賴其它的包。在Maven中,這些被依賴的包就被稱爲dependency。dependency一般是其它工程的artifact。

5 Plug-in:Maven是由插件組織的,它的每一個功能都是由插件提供的。插件提供goal(類似於Ant中的target),並根據在POM中找到的元數據去完成工作。主要的Maven插件要是由Java寫成的,但它也支持用Beanshell或Ant腳本寫成的插件。

Repository:倉庫。

5)maven的常用命令

mvn –version 顯示版本信息
mvn clean 清理項目生產的臨時文件,一般是模塊下的target目錄
mvn compile 編譯源代碼,一般編譯模塊下的src/main/java目錄
mvn package 項目打包工具,會在模塊下的target目錄生成jar或war等文件
mvn test 測試命令,或執行src/test/java/下junit的測試用例.
mvn install 將打包的jar/war文件複製到你的本地倉庫中,供其他模塊使用
mvn deploy 將打包的文件發佈到遠程參考,提供其他人員進行下載依賴
mvn site 生成項目相關信息的網站
mvn eclipse:eclipse 將項目轉化爲Eclipse項目
mvn dependency:tree 打印出項目的整個依賴樹
mvn archetype:generate 創建Maven的普通java項目
mvn tomcat7:run 在tomcat容器中運行web應用
mvn jetty:run 調用 Jetty 插件的 Run 目標在 Jetty Servlet 容器中啓動 web 應用

6)pom.xml文件的節點元素說明

     pom文件的頂級節點
   object model版本,對Maven2和Maven3來說,只能是4.0.0 
     項目創建組織的標識符,一般是域名的倒寫
     定義了項目在所屬組織的標識符下的唯一標識,一個組織下可以有多個項目
      當前項目的版本,SNAPSHOT,表示是快照版本,在開發中
​     打包的方式,有jar、war、pom等
      項目的名稱
        項目的地址
    屬性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   構建項目依賴的jar

7)概念模型圖

在這裏插入圖片描述

8)maven的生命週期

clean default site

原文鏈接:https://zhuanlan.zhihu.com/p/25929012

clean週期:

pre-clean:準備清理

clean:真正的清理工作

post-clean:執行清理後的一些後續工作

default週期:

validate:驗證工程是否正確,所有需要的資源是否可用。

initialize:初始化配置

generate-sources:生成源代碼編譯目錄

process-sources:處理項目主資源文件,複製資源文件到outputclasspath

generate-resources:生成資源目錄

process-resources:處理資源文件

complie:編譯源代碼

process-classes:處理編譯後文件

generate-test-sources:生成測試目錄

process-test-sources:處理項目測試資源文件,複製測試資源文件到outputclasspath

generate-test-resources:生成測試資源文件

process-test-resources:處理測試資源文件

test-compile:編譯測試代碼

process-test-classes:處理測試代碼

test:單元測試運行測試代碼

prepare-package:打包前的準備

package:將編譯好的代碼打包成爲jar或者war或者ear等等

pre-integration-test:準備整體測試

integration-test:整體測試

post-integration-test:爲整體測試收尾

verify:運行所有檢查,驗證包是否有效且達到質量標準。

install:安裝到本地Maven庫

deploy:將最終包部署到遠程Maven倉庫

site週期:

pre-site:準備生成站點

site:生成站點及文檔

post-site:站點收尾

site-deploy:將生成的站點發布到服務器上

具體看原文鏈接:https://www.cnblogs.com/yuanrw/p/9979875.html

9)maven自動部署到tomcat9

原文鏈接:https://blog.csdn.net/qq_36472252/article/details/87921305

10)war和war(exploded)

war模式:將web工程以war包的形式上傳到服務器
war exploed模式:將web工程以當前文件夾的位置關係上傳到服務器

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