jar包不統(tǒng)一,jar包不兼容

工程升級(jí)維護(hù)過程操作繁瑣

Maven的本質(zhì)是一個(gè)項(xiàng)目管理工具,將項(xiàng)目開發(fā)和管理過程抽象成一個(gè)項(xiàng)目對(duì)象模型(POM)
POM(Project Object Model): 項(xiàng)目對(duì)象模型

項(xiàng)目構(gòu)建:提供標(biāo)準(zhǔn)的,跨平臺(tái)的自動(dòng)化項(xiàng)目構(gòu)建方式
依賴管理:方便快捷的管理項(xiàng)目依賴的資源(jar包),避免資源間的版本沖突問題
統(tǒng)一開發(fā)結(jié)構(gòu):提供標(biāo)準(zhǔn)的,統(tǒng)一的項(xiàng)目結(jié)構(gòu)

官網(wǎng):http://maven.apache.org
下載地址:http://maven.apache.org/download.cgi
Maven屬于綠色版軟件,解壓即安裝
依賴Java,需要配置JAVA_HOME
設(shè)置MAVEN自身的運(yùn)行環(huán)境,需要配置MAVEN_HOME
測(cè)試環(huán)境配置結(jié)果
MVN
什么是坐標(biāo)?
Maven坐標(biāo)主要組成
groupId:定義當(dāng)前Maven項(xiàng)目隸屬組織名稱(通常是域名反寫,例如:org.mybatis)
artifactId:定義當(dāng)前Mavne項(xiàng)目名稱(通常是模塊名稱,例如:CRM,SMS)
version:定義當(dāng)前項(xiàng)目版本號(hào)
packaging:定義該項(xiàng)目的打包方式
junit juint 4.12 Mavne坐標(biāo)的作用
Maven啟動(dòng)后,會(huì)自動(dòng)保存下載的資源到本地倉(cāng)庫(kù)
默認(rèn)位置
${user.name}/.m2/repository 當(dāng)前目錄位置為登錄用戶名所在目錄下的.m2文件夾中
自定義位置
D:\maven\repository 當(dāng)前目錄位置為D:\maven\repository文件夾中
在setting文件中配置阿里云鏡像倉(cāng)庫(kù)
nexus-aliyun aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central 
注意:在src同層目錄下
4.0.0 com.zero project-java 1.0 jar junit junit 4.12 4.3Maven項(xiàng)目構(gòu)建命令Maven構(gòu)建命令使用mvn開頭,后面添加功能參數(shù),可以一次執(zhí)行多個(gè)命令,使用空格分隔
mvn compile #編譯
mvn clean #清理
mvn test #測(cè)試
mvn package #打包
mvn install #安裝到本地倉(cāng)庫(kù)創(chuàng)建工程
mvn archetype:generate
-DgroupId={project-packaging}
-DartifactId={project-name}
-DarchetypeArtifactId=maven-archetype-quickstart
-DinteractiveMode=false創(chuàng)建java工程
mvn archetype:generate
-DgroupId={project-packaging}
-DartifactId={java-project}
-DarchetypeArtifactId=maven-archetype-quickstart
-Dversion=0.0.1-snapshot
-DinteractiveMode=false創(chuàng)建web工程
mvn archetype:generate
-DgroupId={project-packaging}
-DartifactId={web-project}
-DarchetypeArtifactId=maven-archetype-webapp
-Dversion=0.0.1-snapshot
-DinteractiveMode=falseMavne工程目錄結(jié)構(gòu)




4.0.0 war org.example design-mode 1.0-SNAPSHOT 8 8 javax.servlet javax.servlet-api 3.1.0 provided org.apache.tomcat.maven tomcat7-maven-plugin 2.1 80 6.依賴管理
6.1依賴配置依賴指當(dāng)前項(xiàng)目運(yùn)行所需要的jar,一個(gè)項(xiàng)目可以設(shè)置多個(gè)依賴
格式:
javax.servlet javax.servlet-api 3.1.0 
可選依賴指對(duì)外隱藏當(dāng)前所依賴的資源–不透明
注意:可選依賴是控制該資源不被其他人看到
javax.servlet javax.servlet-api 3.1.0 true 注意:主動(dòng)斷開間接依賴的資源
javax.servlet javax.servlet-api 3.1.0 provided junit junit 4.12 org.hamcrest hamcrest-core 6.6依賴范圍| scope | 主代碼 | 測(cè)試代碼 | 打包 | 范例 |
|---|---|---|---|---|
| compiler(默認(rèn)) | Y | Y | Y | log4j |
| test | Y | junit | ||
| proviede | Y | Y | servlet-api | |
| runtime | Y | jdbc |
帶有依賴范圍的資源在進(jìn)行傳遞時(shí),作用范圍將受到影響



clean生命周期
default構(gòu)建生命周期

site構(gòu)建生命周期
org.apache.maven.plugins maven-source-plugin 2.2.1 jar generate-test-resources Maven高級(jí)
8.分模塊開發(fā)與設(shè)計(jì)
8.1工程模塊與模塊劃分
ssm_pojo拆分
ssm_dao拆分
ssm_service拆分
ssm_controller拆分
分模塊開發(fā)
作用:聚合用于快速構(gòu)建maven工程,一次性構(gòu)建多個(gè)項(xiàng)目/模塊。
制作方式:
創(chuàng)建一個(gè)空項(xiàng)目,打包類型定義為pom
pom 定義當(dāng)前模塊進(jìn)行構(gòu)建操作時(shí)關(guān)聯(lián)的其他模塊名稱
../ssm_controller ../ssm_service ../ssm_dao ../ssm_pojo 注意事項(xiàng):參與聚合操作的模塊最終執(zhí)行順序與模塊間的依賴關(guān)系有關(guān),與配置順序無關(guān)
模塊的類型:


作用:通過繼承可以實(shí)現(xiàn)在子工程中沿用父工程中的配置
制作方式
com.zero ssm 1.0-SNAPSHOT ../ssm/pom.xml 在父工程中定義依賴管理
org.springframework spring-context 5.1.9.RELEASE 在子工程中定義依賴關(guān)系,無需聲明依賴版本,版本參照父工程中依賴的版本
org.springframework spring-context 10.3繼承的資源
版本統(tǒng)一的重要性

屬性類別
屬性類別:自定義屬性
作用:等同于定義變量,方便統(tǒng)一維護(hù)
定義格式:
5.1.9.RELEASE 4.12 調(diào)用格式:
org.springframework spring-context ${spring.version} 屬性類別:內(nèi)置屬性
作用:使用Maven內(nèi)置屬性,快速配置
調(diào)用格式:
${basedir}
${version}
屬性類別:Setting屬性
作用:使用Maven配置文件setting.xml中的標(biāo)簽屬性,用于動(dòng)態(tài)配置
調(diào)用格式:
${settings.localRepository}屬性類別:Java系統(tǒng)屬性
作用:讀取Java系統(tǒng)屬性
調(diào)用格式:
${user.home}系統(tǒng)屬性查詢方式
mvn help:system屬性類別:環(huán)境變量屬性
作用:使用Maven配置文件setting.xml中的標(biāo)簽屬性,用于動(dòng)態(tài)配置
調(diào)用格式:
${env.JAVA_HOME}環(huán)境變量屬性查詢方式
mvn help:system工程版本區(qū)分

工程版本
工程版本號(hào)約定
資源配置多文件維護(hù)

配置文件引用pom屬性
作用
調(diào)用格式
${jdbc.url}定義自定義屬性
5.1.9.RELEASE 4.12 jdbc:mysql://127.0.0.1:3306/ssm_db 開啟配置文件加載pom屬性
${project.basedir}/src/main/resources true ${project.basedir}/src/test/resources true properties配置
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=${jdbc.url}
jdbc.username=root
jdbc.password=itheima多環(huán)境兼容

pro_evn jdbc:mysql://127.1.1.1:3306/ssm_db true dep_evn jdbc:mysql://127.2.2.1:3306/ssm_db 14.2使用多環(huán)境加載指定環(huán)境
作用
調(diào)用格式
mvn 指令 -P 環(huán)境定義id范例
mvn install -P pro_env

跳過測(cè)試環(huán)節(jié)的應(yīng)用場(chǎng)景


注意:idea中并沒有Run Maven這個(gè)按鈕,需要下載插件
去setting中下載maven helper插件

下載完后,重啟一下idea就有了

org.apache.maven.plugins maven-surefire-plugin **/User*Test.java 16.游戲
16.1nexus服務(wù)器安裝與啟動(dòng)分模塊合作開發(fā)

Nexus下載
Nexus是Sonatype公司的一款maven游戲產(chǎn)品
下載地址:https://help.sonatype.com/repomanager3/download

Nexus安轉(zhuǎn),啟動(dòng)與配置
進(jìn)入安裝目錄,打開cmd
D:\sdk\nexus-3.43.0-01\bin啟動(dòng)服務(wù)器(命令行啟動(dòng))
nexus.exe /run nexus出現(xiàn)如下圖:表示啟動(dòng)成功(中間過程比較長(zhǎng))

訪問服務(wù)器(默認(rèn)端口:8081)
http://localhost:8081修改基礎(chǔ)配置信息
修改服務(wù)器運(yùn)行配置信息
游戲資源獲取

倉(cāng)庫(kù)分類
1.登錄



2.創(chuàng)建倉(cāng)庫(kù)

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-lU8JWUKY-1669996114358)(C:\Users\yanmi\AppData\Roaming\Typora\typora-user-images\image-20221129213622369.png)]
3.上傳依賴

4.刪除依賴

上傳資源時(shí)提供對(duì)應(yīng)的信息
idea環(huán)境中資源上傳與下載

訪問游戲配置(本地倉(cāng)庫(kù)訪問游戲)
配置本地倉(cāng)庫(kù)訪問游戲的權(quán)限(setting.xml)
heima-release admin admin heima-snapshots admin admin 配置本地倉(cāng)庫(kù)資源來源(setting.xml)
alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central nexus-heima http://localhost:8081/repository/maven-public/ * 自定義的url如何查找:如下圖

配置當(dāng)前項(xiàng)目訪問游戲上傳資源的保存位置(pom.xml)
heima-release http://localhost:8081/repository/heima-release heima-release http://localhost:8081/repository/heima-snapshots 發(fā)布資源到游戲命令
mvn deploy或者直接使用Maven生命周期方法如下:

小節(jié)
資源發(fā)布
發(fā)布命令
http://maven.aliyun.com/nexus/content/groups/public/ central nexus-heima http://localhost:8081/repository/maven-public/ * **自定義的url如何查找:如下圖**
[外鏈圖片轉(zhuǎn)存中...(img-E6VkvjIs-1669996114359)]
### 16.4idaa訪問游戲與組件上傳
- 配置當(dāng)前項(xiàng)目訪問游戲上傳資源的保存位置(pom.xml)
~~~xmlheima-release http://localhost:8081/repository/heima-release heima-release http://localhost:8081/repository/heima-snapshots 發(fā)布資源到游戲命令
mvn deploy或者直接使用Maven生命周期方法如下:
[外鏈圖片轉(zhuǎn)存中…(img-r6ZiQUeD-1669996114360)]
小節(jié)
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
文章標(biāo)題:Maven入門教程-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://chinadenli.net/article12/pdcgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站策劃、電子商務(wù)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容