日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

maven(1)

 丹楓無跡 2021-04-29

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

1.簡介

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

2.構(gòu)建工具

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

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

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

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

3.工作原理

3.1 Maven 讀取 pom.xml

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

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

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

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

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

3.4 執(zhí)行插件

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

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

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

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

3.5 構(gòu)建profile

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

4.POM

4.1 概念

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

執(zhí)行任務或目標時,Maven 會在當前目錄中查找 POM。它讀取 POM,獲取所需的配置信息,然后執(zhí)行目標。

POM 中可以指定以下配置:

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

4.2 標簽

節(jié)點 描述
project 工程的根標簽
modelVersion 指定模型版本,應為4.0
groupld 這是工程組的標識。它在一個組織或者項目中通常是唯一的。
artifactld 這是工程的標識。它通常是工程的名稱。
version 這是工程的版本號。

4.3 pom繼承

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

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

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

5.存儲庫

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

    Maven 倉庫是項目中依賴的第三方庫,這個庫所在的位置叫做倉庫。

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

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

    Maven 倉庫有三種類型:

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

Maven搜索依賴項時,會按照:本地庫、中央庫和遠程庫的順序進行。

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

<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 后方是我們想要修改地本地庫存儲的位置。

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

|--name

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

?|--src

?|--main 存放主程序

?|--java存放java源文件

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

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

?|--index.jsp默認訪問

?|--static

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

?|--WEB-INF

?|--web.xml配置文件

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

?|--test存放測試程序

?|--java存放測試java源文件

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多