<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Maven詳解

      > # 第一章 Maven詳解
      1.1.1 初識(shí)Maven
      Maven是一個(gè)跨平臺(tái)的項(xiàng)目管理工具,是Apache組織的一個(gè)頗為成功的開源項(xiàng)目。Maven主要服務(wù)于基于Java的項(xiàng)目的構(gòu)建、項(xiàng)目信息管理和依賴管理。
      Maven的英語(yǔ)含義是"專家、內(nèi)行"
      1.1.2 Maven的作用
      Maven最大作用是構(gòu)建項(xiàng)目。
      Maven 可以為項(xiàng)目的構(gòu)建過程提供很大的便利。
      1. Maven可以創(chuàng)建項(xiàng)目。 (Maven項(xiàng)目具有統(tǒng)一的項(xiàng)目結(jié)構(gòu))
      2. Maven可以引入依賴的Jar包 (核心的概念——倉(cāng)庫(kù))
      Maven倉(cāng)庫(kù) 分為 本地倉(cāng)庫(kù) 和遠(yuǎn)程倉(cāng)庫(kù)。 遠(yuǎn)程倉(cāng)庫(kù)又分為中央倉(cāng)庫(kù) 私服 和其他公共庫(kù)
      1. 本地倉(cāng)庫(kù):開發(fā)人員計(jì)算機(jī)上的Maven倉(cāng)庫(kù)。 (基于坐標(biāo)使用本地倉(cāng)庫(kù)的依賴文件,默認(rèn)情況下,每個(gè)用戶在自己的用戶目錄下都有一個(gè)倉(cāng)庫(kù)目錄。也是默認(rèn)優(yōu)先級(jí)最高的)
      2. 遠(yuǎn)程倉(cāng)庫(kù): 網(wǎng)絡(luò)上的倉(cāng)庫(kù)
      如果不執(zhí)行Maven命令。本地倉(cāng)庫(kù)的目錄是不存在的。用戶輸入一條Maven命令時(shí),Maven才會(huì)創(chuàng)建本地倉(cāng)庫(kù),然后根據(jù)配置和需要從遠(yuǎn)程下載依賴的構(gòu)件到本地倉(cāng)庫(kù)。
      3. 中央倉(cāng)庫(kù): Maven官方提供的倉(cāng)庫(kù)大全。
      最原始的本地倉(cāng)庫(kù)是空的。Maven必須知道至少一個(gè)可用的遠(yuǎn)程倉(cāng)庫(kù),才能在執(zhí)行Maven命令時(shí)下載到需要的依賴也就是Jar包。中央倉(cāng)庫(kù)時(shí)默認(rèn)的遠(yuǎn)程倉(cāng)庫(kù)。但也是優(yōu)先級(jí)最靠后的。 Maven的安裝文件默認(rèn)帶了中央倉(cāng)庫(kù)的配置。
      4. 私服:局域網(wǎng)中搭建的Maven倉(cāng)庫(kù) (特殊)
      它是架設(shè)在局域網(wǎng)內(nèi)的倉(cāng)庫(kù)服務(wù)。私服代理廣域網(wǎng)上的遠(yuǎn)程倉(cāng)庫(kù)。Maven需要下載構(gòu)建時(shí)先從私服請(qǐng)求,再?gòu)耐獠康倪h(yuǎn)程倉(cāng)庫(kù)下載,然后緩存在私服上。
      5. 其他公共庫(kù):將收集的依構(gòu)建而成的倉(cāng)庫(kù)。比如阿里巴巴的公共庫(kù)
      ### Maven 查找依賴的順序 簡(jiǎn)單的來說,先本地 后 私服 和其他 最后中央下面有詳解
      倉(cāng)庫(kù)可以管理Maven項(xiàng)目所需的Jar包(在Maven中稱為依賴)。只需簡(jiǎn)單的Maven操作就可以實(shí)現(xiàn)Jar包的引入。
      3. Maven 可以發(fā)布管理項(xiàng)目
      > ## 1.3 Maven的常用操作
      第一步。創(chuàng)建一個(gè)Empty Project 空項(xiàng)目
      第二步。創(chuàng)建Maven Module
      1. 點(diǎn)擊 Create New Project 進(jìn)行項(xiàng)目創(chuàng)建
                                                                                                             |
      

      |
      | 2. 選擇 Maven |
      | 3. SDK 選擇 1.7 以上版本 |
      | 4. 勾選 Create from archetype,使用 Maven 模板進(jìn)行項(xiàng)目創(chuàng)建 |
      | 5. 選擇 maven-archetype-webapp 模板 |
      | 6. 點(diǎn)擊 Next 進(jìn)入下一步 |
      |

      | 7. 填寫項(xiàng)目的 GroupId |
      | 8. 填寫項(xiàng)目的 ArtifactId |
      | 9. 點(diǎn)擊 Next 進(jìn)入下一步 |
      |

      |
      | 10. 選擇本地 Maven 環(huán)境 |
      | 11. 點(diǎn)擊 Next 進(jìn)入下一步 |
      |

                                                                                              |
      

      | 12. 填寫項(xiàng)目名稱,盡量與 ArtifactId 保持一致 |
      | 13. 點(diǎn)擊 Next 進(jìn)入下一步 |
      |

                                                                                               |
      

      | 14. 如果是首次使用 Maven,需要遠(yuǎn)程下載 JAR 文件,并且需要構(gòu)建項(xiàng)目,所以,此步非常耗時(shí),請(qǐng)耐性等待 |
      |

                                                                                           |
      

      | 15. 當(dāng)出現(xiàn)以下界面時(shí),則表示項(xiàng)目構(gòu)建成功 |
      | |
      |

                                                                                                                                 |
      

      | 第10的配置的內(nèi)容有4項(xiàng)。 |
      | |
      | (1).Maven home directory:Maven 安裝的路徑。 |
      | |
      | (2).User settings file:Maven的setttings.xml的位置。是核心配置文件,位于安裝路徑中的conf文件夾下。可以配置 |
      | |
      | 1. 本地倉(cāng)庫(kù)地址的配置。 |
      | |
      | ,默認(rèn)情況下是注釋的,放開注釋標(biāo)簽中配置的就是Maven本地倉(cāng)庫(kù)的地址。 |
      | |
      | 2. 公共倉(cāng)庫(kù)的配置。 |
      | |
      | 找到mirrors,默認(rèn)也是注釋。默認(rèn)從中央倉(cāng)庫(kù)中下載。 推薦采用阿里巴巴的公共倉(cāng)庫(kù)。在mirrors中添加一些代碼。 |
      | |
      | (3).Local repository:Maven 本地倉(cāng)庫(kù)的路徑。 |
      | |
      | (4).Properties :Maven項(xiàng)目的屬性 |
      | |
      | 推薦添加一條配置archetypeCatalog=internal |
      | |
      | 1.3.2 Pom文件詳解 |
      | |
      | :項(xiàng)目的全球唯一標(biāo)識(shí)符。 |
      | |
      | :本項(xiàng)目的唯一ID。項(xiàng)目名稱 |
      | |
      | :項(xiàng)目的版本號(hào)。SNAPSHOT表示現(xiàn)在的是快照版本。RELEASE為最終發(fā)布版本。 |
      | |
      | :表示父依賴。當(dāng)前項(xiàng)目可以繼承父依賴中配置的依賴和屬性。指定父依賴時(shí)需要指定父依賴的groupId version 等 |
      | |
      | : 項(xiàng)目的打包方式,一般為jar或者war。 |
      | |
      | :項(xiàng)目的名稱 |
      | |
      | :項(xiàng)目主頁(yè)的URL |
      | |
      | :定義此項(xiàng)目的依賴關(guān)系集 |
      | |
      | :定義引入的某個(gè)依賴。 |
      | |
      | :定義一些常量。可以在pom文件的其他地方引用。 |
      | |
      | :描述如何編譯和打包項(xiàng)目。 |
      | |
      | 具體的編譯和打包工作是通過build標(biāo)簽中的plugin完成的。默認(rèn)情況下 Maven會(huì)綁定插件來完成基礎(chǔ)操作。 |
      | |
      | | plugin名稱 | 作用 | 對(duì)應(yīng)IDEA操作 | |
      | | :--------------------------------: | ---------------------------- | ------------ | |
      | | maven-clean-plugin | 清理上一次執(zhí)行創(chuàng)建的目標(biāo)文件 | clean | |
      | | maven-resources-plugin | 處理源資源和測(cè)試資源文件 | compile | |
      | | maven-compiler-plugin | 編譯源文件和測(cè)試源文件 | compile | |
      | | maven-surefire-plugin | 執(zhí)行測(cè)試文件 | test | |
      | | maven-war-plugin或maven-jar-plugin | 創(chuàng)建war或jar文件 | package | |
      | | maven-install-plugin | 將war文件打包放入本地倉(cāng)庫(kù) | install | |
      | | maven-deploy-plugin | 發(fā)布jar文件到指定的倉(cāng)庫(kù) | deploy | |
      | |
      |

                                                                                     |
      

      | |
      | Maven操作有9個(gè)。 |
      | |
      | 1. clean:清除 |
      | 2. validate:驗(yàn)證工程是否正確 |
      | 3. compile:編譯項(xiàng)目 |
      | 4. test:執(zhí)行項(xiàng)目中的測(cè)試用例。 |
      | 5. package:打包 |
      | 6. verify:運(yùn)行任何檢查 |
      | 7. install:將項(xiàng)目打包進(jìn)本地倉(cāng)庫(kù)。 |
      | 8. site:生成項(xiàng)目的網(wǎng)頁(yè)形式的文檔。 |
      | 9. deploy:將項(xiàng)目發(fā)布到遠(yuǎn)程倉(cāng)庫(kù)。 |
      | |
      | > ## 1.3.4 熱部署 |
      | |
      | 修改了代碼后不需要重啟項(xiàng)目就可以看到功能效果的一種部署方式。默認(rèn)不開啟。 |
      | |
      | 如何開啟熱部署? |
      | |
      | 1.FIle -->settings--> 找到 Build,Exception,Deployment -->Complier -->把 Build project automatically 對(duì)勾 勾上 |
      | |
      | 2.ctrl+shift +alt+/ |
      | |
      | > ## 1.4 Maven實(shí)戰(zhàn) |
      | |
      | ### 1.4.1 初識(shí)Nexus私服 |
      | |
      | 優(yōu)點(diǎn): |
      | |
      | 1. 私服倉(cāng)庫(kù)是局域網(wǎng)內(nèi)的,文件下載速度快 |
      | 2. 可自行進(jìn)行構(gòu)件的管理和維護(hù),包括第三方構(gòu)件以及項(xiàng)目模塊中所依賴的自主開發(fā)的公共構(gòu)件。 |
      | 3. 提高了工作效率。 |
      | |
      | Nexus是一個(gè)強(qiáng)大的倉(cāng)庫(kù)管理工具,極大的簡(jiǎn)化了內(nèi)部倉(cāng)庫(kù)的維護(hù)和外部倉(cāng)庫(kù)的訪問。 |
      | |
      | Nexus提供倆種安裝包: |
      | |
      | 1. 內(nèi)嵌Jetty容器的bundle包(只需要有JRE就可以直接運(yùn)行) |
      | 2. war包(須將其發(fā)布到Web容器中才能使用) 安裝詳見教材 |
      | |
      | 1.4.4 Nexus倉(cāng)庫(kù)及常規(guī)操作 |
      | |
      | 1.Nexus倉(cāng)庫(kù) |
      | |
      | Nexus的Repositories中默認(rèn)有7個(gè)倉(cāng)庫(kù)。包含第三方依賴庫(kù)、中央倉(cāng)庫(kù)、發(fā)布版本以及快照版本等等。 |
      | |
      | Nexus的預(yù)定義倉(cāng)庫(kù)的類型(Type)、策略(Policy)、格式(Format)各有不同。 |
      | |
      | 1).倉(cāng)庫(kù)類型有4種。 |
      | |
      | 1).Hosted Repository本地倉(cāng)庫(kù)。內(nèi)部項(xiàng)目的發(fā)布集。 |
      | |
      | 2).Proxy Repository代理倉(cāng)庫(kù)。被用來代理遠(yuǎn)程的公共倉(cāng)庫(kù)。 |
      | |
      | 3).Virtual Repository 虛擬倉(cāng)庫(kù) |
      | |
      | 4). Repository Group 倉(cāng)庫(kù)組 |
      | |
      | 2).倉(cāng)庫(kù)策略 |
      | |
      | 1. Release 發(fā)布版本 |
      | 2. Snapshot 快照版本 |
      | |
      | |
      | |
      | # Maven 查找依賴的順序 |
      | |
      | maven項(xiàng)目使用的倉(cāng)庫(kù)一共有如下幾種方式: |
      | |
      | 1. 中央倉(cāng)庫(kù),這是默認(rèn)的倉(cāng)庫(kù) |
      | 2. 鏡像倉(cāng)庫(kù),通過 sttings.xml 中的 settings.mirrors.mirror 配置 |
      | 3. 全局profile倉(cāng)庫(kù),通過 settings.xml 中的 settings.repositories.repository 配置 |
      | 4. 項(xiàng)目倉(cāng)庫(kù),通過 pom.xml 中的 project.repositories.repository 配置 |
      | 5. 項(xiàng)目profile倉(cāng)庫(kù),通過 pom.xml 中的 project.profiles.profile.repositories.repository 配置 |
      | 6. 本地倉(cāng)庫(kù) |
      | |
      | |
      | |
      | - 只要 ~/.m2/repository 中包含依賴,無論怎么配置,都會(huì)優(yōu)先使用local本地倉(cāng)庫(kù)中的jar. |
      | |
      | ### 最終結(jié)論 |
      | |
      | - settings_mirror 的優(yōu)先級(jí)高于 central |
      | - settings_profile_repo 優(yōu)先級(jí)高于 settings_mirror |
      | - settings_profile_repo 優(yōu)先級(jí)高于 pom_repositories |
      | - settings_profile_repo 優(yōu)先級(jí)高于 pom_profile_repo |
      | - pom_profile_repo 優(yōu)先級(jí)高于 pom_repositories |
      | - pom_repositories 優(yōu)先級(jí)高于 settings_mirror |
      | |
      | 通過上面的比較得出完整的搜索鏈: |
      | |
      | local_repo > settings_profile_repo > pom_profile_repo > pom_repositories > settings_mirror > central |
      | |
      | 本地倉(cāng)庫(kù)> 全局profile倉(cāng)庫(kù) 項(xiàng)目profile倉(cāng)庫(kù) pom中的倉(cāng)庫(kù) 鏡像倉(cāng)庫(kù) 中央倉(cāng)庫(kù) |
      | |
      | img |
      | |
      | > ### MAVEN依賴的優(yōu)先原則 |
      | |
      | maven依賴的優(yōu)先原則 |
      | |
      | 1.依賴最短路徑優(yōu)先原則 |
      | |
      | 一個(gè)項(xiàng)目Demo依賴了兩個(gè)jar包,其中A-B-C-X(1.0) , A-D-X(2.0)。由于X(2.0)路徑最短,所以項(xiàng)目使用的是X(2.0)。 |
      | |
      | 2.pom文件中申明順序優(yōu)先 |
      | |
      | 如果A-B-X(1.0) ,A-C-X(2.0) 這樣的路徑長(zhǎng)度一樣怎么辦呢?這樣的情況下,maven會(huì)根據(jù)pom文件聲明的順序加載,如果先聲明了B,后聲明了C,那就最后的依賴就會(huì)是X(1.0)。 |
      | |
      | 3. 覆蓋優(yōu)先原則 |
      | |
      | 子pom內(nèi)聲明的優(yōu)先于父pom中的依賴。 |

      posted @ 2021-03-17 09:48  編碼小高  閱讀(226)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产午夜福利精品视频| 欧美精品国产一区二区三区| 高清无码18| 欧美精品一产区二产区| 亚洲国产欧美在线观看片| 国产高清在线a视频大全| 国产精品综合色区av| 女同精品女同系列在线观看 | 亚洲三区在线观看内射后入| 在线观看中文字幕国产码| 精品亚洲综合一区二区三区| 无码专区 人妻系列 在线| 亚洲成人av在线资源| 久久人人97超碰精品| 欧美喷水抽搐magnet| 国产日韩av二区三区| 少妇熟女天堂网av| 久久亚洲精品无码播放| 人妻激情文学| 亚洲国产大片永久免费看| 亚洲精品动漫一区二区三| 中文字幕国产在线精品| 国产成人一区二区三区视频免费 | 亚洲av色香蕉一二三区| 天堂亚洲免费视频| 老湿机69福利区无码| 黄色一级片一区二区三区| 亚洲东京色一区二区三区| 茄子视频国产在线观看| 亚洲国产精品一区二区久| 威信县| 亚洲首页一区任你躁xxxxx| 男女性高爱潮免费网站| 久久无码av中文出轨人妻| 久久成人伊人欧洲精品| 99RE8这里有精品热视频| 国精偷拍一区二区三区| 色翁荡息又大又硬又粗又视频图片 | jlzz大jlzz大全免费| 色噜噜狠狠成人综合| 性色av不卡一区二区三区|