亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Maven之POM淺析

IT那活兒 / 1518人閱讀
Maven之POM淺析
點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!??!

構(gòu)建工具Maven

java的jar包管理工具在開發(fā)中,Maven不僅自動化構(gòu)建框架,還能抽象構(gòu)建過程,提供構(gòu)建任務(wù)實現(xiàn),今天介紹一下在實戰(zhàn)中POM的構(gòu)建以及常用Build操作。


超級POM

Maven 是一款 【構(gòu)建管理】和【依賴管理】的工具,maven在構(gòu)建過程中有很多默認的設(shè)定。
源文件存放的目錄、測試源文件存放的目錄、構(gòu)建輸出的目錄......等等。
定義的位置就是:超級POM。簡單來說就是,你可以為工程指定父工程,若不指定父工程,則Maven中會存在默認繼承的父工程,即超級POM。
超級POM中定義了默認訪問的【中央倉庫】、【插件管理】、【打包名稱】等等。

使用help:evaluate 查看屬性值

3.1 自定義屬性
例如自定義了xinju
<properties>
   <project.build.Encoding>UTF-8project.build.Encoding>
   <com.shsnc.maven>xinjucom.shsnc.maven>
properties>
想要獲取xinju的值,就可以使用mvn help:evaluate,輸入${com.shsnc.maven} 進行查看:
3.2 訪問系統(tǒng)環(huán)境變量
使用:${env.系統(tǒng)環(huán)境變量名}。
例:訪問【JAVA_HOME】的path目錄
3.3 訪問Project 屬性
使用表達式 ${project.xxx.xxx} 可以訪問當前 POM 中的元素值。
例:獲取【artifactId】 的屬性值:
例:獲取子標簽下的【artifactId】的屬性值:
3.4 訪問 settings 全局配置
${settings.標簽名} 可以訪問 settings.xml 中配置的元素值。
作 用:
1)在當前pom.xml 文件中引用屬性
例如版本管理,一處修改,處處生效:

2)資源過濾功能,在非 Maven 配置文件中引用屬性,由 Maven 在處理資源時將引用屬性的表達式替換為屬性值。


Build標簽

本質(zhì)來說:配置build標簽都是對 超級POM配置的疊加。
這里主要介紹一下【聲明周期插件】,plugins 標簽存放的是默認生命周期中實際會用到的插件,這些插件想必大家都不陌生,所以拋開插件本身不談,我們來看看 plugin 標簽的結(jié)構(gòu):

executions 標簽內(nèi)可以配置多個 execution 標簽,execution 標簽內(nèi):

  • id:指定唯一標識;
  • phase:關(guān)聯(lián)的生命周期階段;
  • goals/goal:關(guān)聯(lián)指定生命周期的目標。
其中,goals 標簽中可以配置多個 goal 標簽,表示一個生命周期環(huán)節(jié)可以對應(yīng)當前插件的多個目標。
另外,插件目標的執(zhí)行過程可以進行配置:

Build標簽使用

5.1 指定 JDK 版本
Maven 默認的版本是jdk5,而Lambda表達式是jdk8版本,使用會報錯:
插件指定 JDK版本:
編輯通過,可以正常運行:
5.2 SpringBoot 定制化打包
spring-boot-maven-plugin 并不是 Maven 自帶的插件,而是SpringBoot提供的,用來改變 Maven 默認的構(gòu)建行為。具體來說是改變打包的行為。默認情況下Maven 調(diào)用 maven-jar-plugin 插件的 jar 目標,生成普通的 jar 包。
普通 jar 包沒法使用 java -jar xxx.jar 這樣的命令來啟動、運行,但是SpringBoot的設(shè)計理念就是每一個【微服務(wù)】導(dǎo)出為一個 jar 包,這個 jar 包可以使用java -jar xxx.jar這樣的命令直接啟動運行。
所以SpringBoot提供了spring-boot-maven-plugin這個插件來定制打包行為。
所有的一切已經(jīng)都被 SpringBoot 封裝好了,所以配置非常簡單,提供插件坐標即可:
5.3 Mybatis逆向工程
由于使用存在局限性,并且無法實現(xiàn)【多表查詢】的操作,在實際開發(fā)中使用較少,所以不做過多介紹。


本文作者周瑞謀(上海新炬中北團隊)

本文來源:“IT那活兒”公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129125.html

相關(guān)文章

  • Maven實戰(zhàn)Quick Start

    摘要:在之前,十個項目可能有十種構(gòu)建方式,但通過,所有項目的構(gòu)建命令都是簡單一致的。有利于促進項目團隊的標準化。手工勞動往往意味著低效,意味著容易出錯。這在很大程度上消除了重復(fù)。默認情況下,該文件夾下放置了本地倉庫。學習實戰(zhàn)許曉斌著 Introduction Maven是一個異常強大的構(gòu)建工具,能夠幫我們自動化構(gòu)建過程,從清理、編譯、測試到生成報告,再到打包和部署。通過Maven,我們只需要...

    Yi_Zhi_Yu 評論0 收藏0
  • Maven核心概念和日常實踐

    摘要:項目根目錄項目名項目版本號項目目錄打包的名字二依賴管理概述通過在配置依賴坐標,會自動幫我們下載依賴的構(gòu)件。關(guān)于父模塊的依賴配置注意兩點一般都是通過來配置所有依賴及其版本號,然后子模塊,在自己的文件中聲明依賴即可,不用再指定版本,以確保統(tǒng)一。 一、Maven 1.1 為什么寫Maven 工欲善其事,必先利其器。如今Java相關(guān)開發(fā),基本離不開Maven、Gradle、MAT、Hudson...

    894974231 評論0 收藏0
  • RPC框架實踐:Google gRPC

    摘要:與文章框架實踐之一文中實踐的另一種通用框架能通過自動生成對應(yīng)語言的接口類似,也能自動地生成和的存根,我們只需要一個命令就能快速搭建起運行環(huán)境。類似于之前對于框架的實踐步驟,下面一一闡述。 showImg(https://segmentfault.com/img/remote/1460000014946557); 概述 gRPC是Google開源的通用高性能RPC框架,它支持的是使用P...

    malakashi 評論0 收藏0
  • RPC框架實踐:Google gRPC

    摘要:與文章框架實踐之一文中實踐的另一種通用框架能通過自動生成對應(yīng)語言的接口類似,也能自動地生成和的存根,我們只需要一個命令就能快速搭建起運行環(huán)境。類似于之前對于框架的實踐步驟,下面一一闡述。 showImg(https://segmentfault.com/img/remote/1460000014946557); 概述 gRPC是Google開源的通用高性能RPC框架,它支持的是使用P...

    vibiu 評論0 收藏0
  • 一起學習使用Spring Cloud NetflixEureka

    摘要:筆者也是初學者,本文從創(chuàng)建項目工程開始,一步一步開始講解如何創(chuàng)建服務(wù)端和客戶端,一起學習,共同進步。下面我們使用工具創(chuàng)建相關(guān)項目。配置其中兩個屬性表明這個應(yīng)用是端,而不是端。至此,端和端已經(jīng)部署成功。 前言 spring cloud為互聯(lián)企業(yè)構(gòu)建微服務(wù)提供了一整套的技術(shù)組件,其中Eureka是Spring Cloud體系中的核心。Netfix不是一個技術(shù)概念,它原本是國外一個視頻網(wǎng)站的...

    李義 評論0 收藏0
  • Maven就是這么簡單

    摘要:軟件項目的管理就會變得簡單很多。比如說的驅(qū)動程序,,在是獲取不到的,就需要手工上傳到里是倉庫組,在里沒有這個概念,是特有的。 什么是Maven Maven是一個采用純Java編寫的開源項目管理工具, Maven采用了一種被稱之為Project Object Model (POM)概念來管理項目,所有的項目配置信息都被定義在一個叫做POM.xml的文件中.. Maven是一款跨平臺的項目...

    leonardofed 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<