0907
1)目前所學技術(三層體系架構)
2)構建項目
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工程的座標和倉庫中路徑的對應關係
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工程以當前文件夾的位置關係上傳到服務器