中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Maven進(jìn)階筆記-創(chuàng)新互聯(lián)

Mave進(jìn)階 內(nèi)容概覽
  • 分模塊開發(fā)的意義
  • 依賴管理
  • 聚合與繼承
  • 屬性管理
  • 多環(huán)境配置與應(yīng)用
  • 游戲
學(xué)習(xí)目標(biāo)
  1. 理解分模塊開發(fā)的意義
  2. 能使用聚合工程快速構(gòu)建項(xiàng)目
  3. 能夠使用繼承簡(jiǎn)單化項(xiàng)目配置
  4. 能夠根據(jù)需求配置生產(chǎn)、開發(fā)、測(cè)試、環(huán)境,并在各個(gè)環(huán)境間切換運(yùn)行
分模塊開發(fā)與設(shè)計(jì) 分模塊開發(fā)的意義
  • 將原始模塊按照功能拆分成若干個(gè)子模塊,方便魔窟間的相互調(diào)用,接口共享
分模塊開發(fā)(模塊拆分步驟)

步驟

行唐ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
  1. 創(chuàng)建Maven模塊

  2. 書寫模塊代碼

    注意事項(xiàng):分模塊開發(fā)需要先針對(duì)模塊功能進(jìn)行設(shè)計(jì),在進(jìn)行編碼。不會(huì)先將工程開發(fā)完畢,然后進(jìn)行拆分

  3. 通過maven指令安裝模塊到本地倉(cāng)庫(insatall指令)

    注意事項(xiàng):團(tuán)隊(duì)內(nèi)部開發(fā)需要發(fā)布模塊功能到團(tuán)隊(duì)內(nèi)部可共享的倉(cāng)庫中(游戲)

依賴管理
  • 依賴指當(dāng)前項(xiàng)目運(yùn)行所需的jar,一個(gè)項(xiàng)目可以設(shè)置多個(gè)依賴

  • 格式:

    org.springframeworkspring-webmvc5.2.10.RELEASE
依賴傳遞
  • 依賴具有傳遞性
    • 直接依賴:在當(dāng)前項(xiàng)目中通過依賴配置簡(jiǎn)歷的依賴關(guān)系
    • 間接依賴:被資源的資源如果依賴其他資源,當(dāng)前項(xiàng)目間解依賴其他資源
  • 依賴傳遞沖突問題
    • 路徑優(yōu)先:當(dāng)依賴中出現(xiàn)相同的資源時(shí),層級(jí)越深,優(yōu)先級(jí)越低,層級(jí)越淺,優(yōu)先級(jí)越高
    • 聲明優(yōu)先:當(dāng)資源在相同層級(jí)被依賴時(shí),配置順序越靠前的覆蓋配置順序靠后的
    • 特殊優(yōu)先:當(dāng)同級(jí)配置了相同資源的不同版本,后配置的覆蓋先配置的
    • 可在idea中看mave結(jié)構(gòu)選項(xiàng)內(nèi)顯示哪個(gè)優(yōu)先級(jí)哪個(gè)大,可以打開看結(jié)構(gòu)關(guān)系深度圖
可選依賴
  • 可選依賴指對(duì)外隱藏當(dāng)前所依賴的資源——不透明

  • 可選依賴是隱藏帶你給錢工程所依賴的資源,隱藏后對(duì)應(yīng)資源不具有依賴傳遞性true

    org.springframeworkspring-webmvc5.2.10.RELEASEtrue
排除依賴
  • 排除依賴指主動(dòng)斷開依賴的資源,被排除的資源無需治黨版本——不需要

  • 在依賴的模塊內(nèi)排除不需要的依賴

com.hcxMaven_03_pojo1.0-SNAPSHOTlog4jlog4j
  • 排除依賴資源僅治黨GA即可,無需指定V
繼承和聚合 聚合
  • 聚合:將多個(gè)模塊組織成一個(gè)整體,同時(shí)進(jìn)行項(xiàng)目構(gòu)建的過程稱為聚合
  • 聚合工程:通常是一個(gè)不具有業(yè)務(wù)功能的"空"工程(有且僅有一個(gè)pom文件)
  • 作用:使用聚合工程可以將多個(gè)工程編組,通過對(duì)聚合工程進(jìn)行構(gòu)建,事項(xiàng)對(duì)所有包含的模塊進(jìn)行同步構(gòu)建
    • 當(dāng)工程中某個(gè)模塊發(fā)送更新(變更)時(shí),必須保障工程中已更新模塊關(guān)聯(lián)的模塊同步更新,此時(shí)可以使用聚合工程來解決批量模塊同步構(gòu)建的問題
聚合工程開發(fā)

步驟:

  1. 創(chuàng)建Maven模塊,設(shè)置打包類型為pom

    com.hcxmaven_01_parent1.0-SNAPSHOTpom

    注意事項(xiàng):每個(gè)maven工程都有對(duì)應(yīng)的打包方式,默認(rèn)為jar,web工程打包方式為war

  2. 設(shè)置當(dāng)前聚合工程中所包含的子模塊名稱

    ../Maven_03_pojo../maven_04_dao../springmvc_08_ssm

    注意事項(xiàng):聚合工程中所包含的模塊在進(jìn)行構(gòu)建時(shí)會(huì)更卷模塊間的依賴關(guān)系設(shè)置構(gòu)建順序,與聚合工程中模塊的配置書寫位置無關(guān),參與聚合的工程無法向上干燥是否參與聚合,只能向下配置哪些模塊參與本工程的聚合

繼承
  • 概念:繼承描述的是連個(gè)工程間的關(guān)系,與java中的繼承類似,子工程可以繼承父工程中的配置信息,常見于依賴關(guān)系的繼承
  • 作用:
    • 簡(jiǎn)化配置
    • 減少版本沖突
繼承關(guān)系開發(fā)工程
  1. 創(chuàng)建Mave模塊,設(shè)置打包類型為pom

    pom

    注意事項(xiàng):建議父工程打包方式設(shè)為pom

  2. 在父工程的pom文件縱配置依賴關(guān)系(子工程將沿用父工程中的依賴關(guān)系)

    org.springframeworkspring-webmvc5.2.10.RRLEASE......
  3. 配置子工程中可選的依賴關(guān)系

    com.alibabadruid1.1.16.......
  4. 在子工程中配置當(dāng)前使用父工程中可選依賴的坐標(biāo)

    com.alibabadruid

    注意事項(xiàng):子工程中使用父工程中的可選依賴是,僅需要提供群組id和項(xiàng)目id,版本由父工程統(tǒng)一管理,避免版本沖突子工程中還可以定義父工程中沒有定義的依賴關(guān)系

聚合和繼承的區(qū)別
  • 作用
    • 聚合用于快速構(gòu)建項(xiàng)目
    • 繼承用于快速配置
  • 相同點(diǎn)
    • 聚合與繼承的pom.xml文件打包方式均為pom,可以將兩種關(guān)系制作到同一個(gè)pom文件中
    • 聚合與繼承均屬于設(shè)計(jì)型模塊,并無實(shí)際的模塊內(nèi)容
  • 不同點(diǎn):
    • 聚合是當(dāng)前模塊中配置關(guān)系,聚合可以感知到參與聚合的模塊有哪些
    • 繼承是在子模塊中配置關(guān)系,父模塊無法感知哪些子模塊繼承了自己
屬性 屬性

解決版本號(hào)統(tǒng)一問題

屬性的配置與使用
  1. 定義屬性

    5.2.10.RELEASE

    注意事項(xiàng):properties標(biāo)簽內(nèi)的標(biāo)簽可自行定義【盡量做到間名知意】

  2. 引用屬性

    org.springframeworkspring-webmvc${spring.version}org.springframeworkspring-jdbc${spring.version}org.springframeworkspring-test${spring.version}
配置文件加載屬性 資源文件引用屬性
  1. 定義屬性

    5.2.10.RELEASE4.12jdbc:mysql://127.0.0.1:3306/ssm_db
  2. 配置文件中引用屬性

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=${jdbc.url}
    jdbc.username=root
    jdbc.password=******
  3. 開啟資源文件目錄加載屬性的過濾器

    ${project.basedir}/src/main/resourcestrue
  4. 配置maven打war包,忽略web.xml檢查

     ${project.basedir}/src/main/resources true
其他屬性
  • 屬性列表

    1. 自定義屬性(常用)
    2. 內(nèi)置屬性
    3. Setting屬性
    4. Java系統(tǒng)屬性
    5. 環(huán)境變量屬性
  • 表格詳細(xì)展示(了解)

    屬性分類引用格式示例
    自定義屬性${自定義屬性名}${spring.version}
    內(nèi)置屬性${內(nèi)置屬性名}${basedir} ${version}
    Setting屬性${setting.屬性名}${settings.localRepository}
    Java系統(tǒng)屬性${系統(tǒng)屬性分類.系統(tǒng)屬性名}${user.home}
    環(huán)境變量屬性${env.環(huán)境變量屬性名}${env.JAVA_HOME}
版本 版本管理
  • 工程版本
    • SNAPSHOT(快照版本)
      • 項(xiàng)目開發(fā)過程中臨時(shí)輸出的版本,稱為快照版本
      • 快照版本會(huì)隨著開發(fā)的進(jìn)展不斷更新
    • RELEASE(發(fā)布版本)
      • 項(xiàng)目開發(fā)到靜茹階段里程碑后向團(tuán)隊(duì)外部發(fā)布較為穩(wěn)定的版本,這種版本所對(duì)應(yīng)的構(gòu)件文件是穩(wěn)定的,即便進(jìn)行功能的后續(xù)開發(fā),也不會(huì)改變當(dāng)前發(fā)布版本內(nèi)容,這種版本稱為發(fā)布版本
  • 發(fā)布版本
    • alpha版
    • beta版
    • 純數(shù)字版
多環(huán)境配置與應(yīng)用 多環(huán)境開發(fā)
  • mave提供了配置多種環(huán)境的設(shè)定,幫助開發(fā)者使用過程種快速切換環(huán)境
  1. 定義多環(huán)境

    env_dep jdbc:mysql://127.0.0.1:3306/ssm_db truepro_dep jdbc:mysql://127.1.1.1:3306/ssm_dbtest_dep jdbc:mysql://127.2.2.2:3306/ssm_db
  2. 使用多環(huán)境(構(gòu)建過程)

    mvn 指令 -P 環(huán)境定義id

    范例:

    mvn install -P pro_env
跳過測(cè)試

目的:為了跳過一些沒有開發(fā)完成的完成測(cè)試內(nèi)容

  • 跳過測(cè)試

    mvn 指令 -D skipTests
  • 范例:

    mvn install -D skipTests

    注意事項(xiàng):執(zhí)行的項(xiàng)目構(gòu)建指令必須包含測(cè)試聲明周期,否則無效果。例如執(zhí)行compile生命周期,不經(jīng)過test生命周期

  • 細(xì)粒度控制跳過測(cè)試

     org.apache.maven.plugins maven-surefire-plugin 2.12.4  true   **/User*Test.java    **/BookServiceTest.java  
游戲
  • 游戲是一臺(tái)獨(dú)立的服務(wù)器,用于解決團(tuán)隊(duì)內(nèi)容不的資源共享與資源同步問題

  • Nexus

    • Sonatype公司的一款maven游戲產(chǎn)品
    • 下載地址:https://help.sonatype.com/repomanager3/download
Nexus安裝與啟動(dòng)
  • 啟動(dòng)服務(wù)器(命令行啟動(dòng))

    nexus.exe /run nexus
  • 訪問服務(wù)器(默認(rèn)端口:8081)

    http://localhost:8081
  • 修改基礎(chǔ)配置信息

    • 安裝路徑下etc目錄中nexus-default.properties文件保存有nexus基礎(chǔ)配置信息,例如訪問端口
  • 修改服務(wù)器運(yùn)行配置信息

    • 安裝路徑下bin目錄中nexus.vmoptions文件保存有nexus服務(wù)器對(duì)應(yīng)的配置信息,例如默認(rèn)占用內(nèi)存空間
游戲資源操作流程分析
  • 我們的坐標(biāo)是放在游戲的倉(cāng)庫中,下載資源是使用倉(cāng)庫組
游戲倉(cāng)庫分類
倉(cāng)庫類別英文名稱功能關(guān)聯(lián)操作
宿主倉(cāng)庫hosted保存自主研發(fā)+第三方資源上傳
代理倉(cāng)庫proxy代理連接中央倉(cāng)庫下載
倉(cāng)庫組group為長(zhǎng)褲編組簡(jiǎn)化下載操作下載

你是否還在尋找穩(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)查看詳情吧

文章名稱:Maven進(jìn)階筆記-創(chuàng)新互聯(lián)
標(biāo)題來源:http://www.rwnh.cn/article2/csoooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、電子商務(wù)全網(wǎng)營(yíng)銷推廣、品牌網(wǎng)站設(shè)計(jì)、外貿(mào)建站、網(wǎng)站維護(hù)

廣告

聲明:本網(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)

成都定制網(wǎng)站建設(shè)
呼和浩特市| 海门市| 保德县| 五寨县| 离岛区| 盐亭县| 丹寨县| 集贤县| 扎囊县| 广昌县| 乌鲁木齐市| 岑巩县| 高青县| 龙里县| 桂阳县| 陇南市| 金堂县| 武隆县| 会泽县| 太湖县| 平乡县| 洪江市| 长宁县| 固镇县| 海安县| 布拖县| 冷水江市| 巩留县| 乳源| 洛宁县| 什邡市| 太原市| 错那县| 林西县| 密山市| 马山县| 台中县| 垦利县| 凤山市| 都匀市| 湛江市|