成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Maven之POM淺析

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

構(gòu)建工具M(jìn)aven

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

使用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} 進(jìn)行查看:
3.2 訪問系統(tǒng)環(huán)境變量
使用:${env.系統(tǒng)環(huán)境變量名}。
例:訪問【JAVA_HOME】的path目錄
3.3 訪問Project 屬性
使用表達(dá)式 ${project.xxx.xxx} 可以訪問當(dāng)前 POM 中的元素值。
例:獲取【artifactId】 的屬性值:
例:獲取子標(biāo)簽下的【artifactId】的屬性值:
3.4 訪問 settings 全局配置
${settings.標(biāo)簽名} 可以訪問 settings.xml 中配置的元素值。
作 用:
1)在當(dāng)前pom.xml 文件中引用屬性
例如版本管理,一處修改,處處生效:

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


Build標(biāo)簽

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

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

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

Build標(biāo)簽使用

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


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

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

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

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

相關(guān)文章

  • Maven實戰(zhàn)Quick Start

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

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

    摘要:項目根目錄項目名項目版本號項目目錄打包的名字二依賴管理概述通過在配置依賴坐標(biāo),會自動幫我們下載依賴的構(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)語言的接口類似,也能自動地生成和的存根,我們只需要一個命令就能快速搭建起運(yùn)行環(huán)境。類似于之前對于框架的實踐步驟,下面一一闡述。 showImg(https://segmentfault.com/img/remote/1460000014946557); 概述 gRPC是Google開源的通用高性能RPC框架,它支持的是使用P...

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

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

    vibiu 評論0 收藏0
  • 一起學(xué)習(xí)使用Spring Cloud NetflixEureka

    摘要:筆者也是初學(xué)者,本文從創(chuàng)建項目工程開始,一步一步開始講解如何創(chuàng)建服務(wù)端和客戶端,一起學(xué)習(xí),共同進(jìn)步。下面我們使用工具創(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元查看
<