小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

maven(1)

 丹楓無跡 2021-04-29

本篇知識(shí)來源于大佬博客以及菜鳥教程。

1.簡(jiǎn)介

Maven項(xiàng)目對(duì)象模型(POM),可以通過一小段描述信息來管理項(xiàng)目的構(gòu)建,報(bào)告和文檔項(xiàng)目管理工具軟件。(它是一個(gè)強(qiáng)大的Java項(xiàng)目構(gòu)建工具,基于POM(項(xiàng)目對(duì)象模型)文件,可用于項(xiàng)目構(gòu)建、依賴模塊管理和Javadoc生成等。)

2.構(gòu)建工具

構(gòu)建工具是軟件構(gòu)建過程自動(dòng)化的一種工具。一個(gè)軟件項(xiàng)目的構(gòu)建通常包含以下幾部分:

  • 生成源代碼(如果項(xiàng)目使用了自動(dòng)生成部分源代碼)
  • 從源代碼生成文檔(如javadoc)
  • 編譯源代碼
  • 將編譯好的代碼打包到ZIP包或JAR包中
  • 把打包好的文件部署到服務(wù)器或存儲(chǔ)庫

某些軟件項(xiàng)目可能還包含其他特殊構(gòu)建任務(wù),這些任務(wù)都可以添加到maven的構(gòu)建過程中自動(dòng)化執(zhí)行。

構(gòu)建過程自動(dòng)化的好處是,避免出錯(cuò),效率更高,人工執(zhí)行構(gòu)建過程比較慢且容易出錯(cuò)。

3.工作原理

3.1 Maven 讀取 pom.xml

maven根據(jù)pom.xml文件中的配置來執(zhí)行命令。

3.2 下載依賴jar包到本地庫(Repository)

pom.xml文件中包含了依賴項(xiàng)的配置,依賴項(xiàng)是項(xiàng)目使用的第三方庫,即外部的jar文件,如果本地庫沒有,那么Maven將從中央庫下載依賴項(xiàng),并存放在本地庫中。

3.3 執(zhí)行構(gòu)建過程/階段/目標(biāo)

項(xiàng)目的構(gòu)建通常包含數(shù)個(gè)相互獨(dú)立的任務(wù),可以獨(dú)立執(zhí)行,如生成文檔,構(gòu)建jar包等。單個(gè)任務(wù)的執(zhí)行過程被稱為一個(gè)構(gòu)建生命周期,構(gòu)建生命周期由一系列的構(gòu)建階段組成,每個(gè)階段包含一系列的構(gòu)建目標(biāo)。

3.4 執(zhí)行插件

插件是構(gòu)建目標(biāo)的集合,也稱為MOJO (Maven Old Java Object)。

Maven 生命周期的每一個(gè)階段的具體實(shí)現(xiàn)都是由 Maven 插件實(shí)現(xiàn)的。

Maven 實(shí)際上是一個(gè)依賴插件執(zhí)行的框架,每個(gè)任務(wù)實(shí)際上是由插件完成。Maven 插件通常被用來:

  • 創(chuàng)建 jar 文件
  • 創(chuàng)建 war 文件
  • 編譯代碼文件
  • 代碼單元測(cè)試
  • 創(chuàng)建工程文檔
  • 創(chuàng)建工程報(bào)告

3.5 構(gòu)建profile

可以構(gòu)建項(xiàng)目的不同版本。

4.POM

4.1 概念

POM( Project Object Model,項(xiàng)目對(duì)象模型 ) 是 Maven 工程的基本工作單元,是一個(gè)XML文件,包含了項(xiàng)目的基本信息,用于描述項(xiàng)目如何構(gòu)建,聲明項(xiàng)目依賴,等等。

執(zhí)行任務(wù)或目標(biāo)時(shí),Maven 會(huì)在當(dāng)前目錄中查找 POM。它讀取 POM,獲取所需的配置信息,然后執(zhí)行目標(biāo)。

POM 中可以指定以下配置:

  • 項(xiàng)目依賴
  • 插件
  • 執(zhí)行目標(biāo)
  • 項(xiàng)目構(gòu)建 profile
  • 項(xiàng)目版本
  • 項(xiàng)目開發(fā)者列表
  • 相關(guān)郵件列表信息

4.2 標(biāo)簽

節(jié)點(diǎn) 描述
project 工程的根標(biāo)簽
modelVersion 指定模型版本,應(yīng)為4.0
groupld 這是工程組的標(biāo)識(shí)。它在一個(gè)組織或者項(xiàng)目中通常是唯一的。
artifactld 這是工程的標(biāo)識(shí)。它通常是工程的名稱。
version 這是工程的版本號(hào)。

4.3 pom繼承

父(Super)POM是 Maven 默認(rèn)的 POM。所有的 POM 都繼承自一個(gè)父 POM(無論是否顯式定義了這個(gè)父 POM)。父 POM 包含了一些可以被繼承的默認(rèn)設(shè)置。因此,當(dāng) Maven 發(fā)現(xiàn)需要下載 POM 中的 依賴時(shí),它會(huì)到 Super POM 中配置的默認(rèn)倉庫 http://repo1./maven2 去下載。

<parent>
        <groupId></groupId>
        <artifactId></artifactId>
        <version></version>
        <relativePath></relativePath>
    </parent>

可用上述結(jié)構(gòu)顯式地繼承另一個(gè)POM文件。

5.存儲(chǔ)庫

  • 在 Maven 的術(shù)語中,倉庫是一個(gè)位置(place)。

    Maven 倉庫是項(xiàng)目中依賴的第三方庫,這個(gè)庫所在的位置叫做倉庫。

    在 Maven 中,任何一個(gè)依賴、插件或者項(xiàng)目構(gòu)建的輸出,都可以稱之為構(gòu)件。

    Maven 倉庫能幫助我們管理構(gòu)件(主要是JAR),它就是放置所有JAR文件(WAR,ZIP,POM等等)的地方。

    Maven 倉庫有三種類型:

    • 本地(local)
    • 中央(central)
    • 遠(yuǎn)程(remote)

Maven搜索依賴項(xiàng)時(shí),會(huì)按照:本地庫、中央庫和遠(yuǎn)程庫的順序進(jìn)行。

本地庫可以通過修改settings.xml(apache-maven-3.6.3\conf\)文件來更改maven本地存儲(chǔ)庫的位置。

<settings xmlns="http://maven./SETTINGS/1.0.0"
          xmlns:xsi="http://www./2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven./SETTINGS/1.0.0 http://maven./xsd/settings-1.0.0.xsd">
          <localRepository>D:\Java\maven-repository</localRepository>
  <!-- localRepository

localRepository 后方是我們想要修改地本地庫存儲(chǔ)的位置。

6.項(xiàng)目結(jié)構(gòu)

|--name

?|--pom.xml   Project Object Model 項(xiàng)目對(duì)象模型,Maven 的核心配置文件,與構(gòu)建過程相關(guān)的一切設(shè)置都在這個(gè)文件中進(jìn)行配置。

?|--src

?|--main 存放主程序

?|--java存放java源文件

?|--resources   存放框架或其他工具的配置文件

?|--webapp存放關(guān)于網(wǎng)頁的數(shù)據(jù)

?|--index.jsp默認(rèn)訪問

?|--static

?|--default存放前端要用的框架,圖片,css,js等文件

?|--WEB-INF

?|--web.xml配置文件

?|--page存放前端頁面,每個(gè)板塊各為一個(gè)文件夾

?|--test存放測(cè)試程序

?|--java存放測(cè)試java源文件

?|--resources   存放測(cè)試框架或其他工具的配置文件

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多