成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Maven之POM淺析

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

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

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


超級(jí)POM

Maven 是一款 【構(gòu)建管理】和【依賴管理】的工具,maven在構(gòu)建過程中有很多默認(rèn)的設(shè)定。
源文件存放的目錄、測(cè)試源文件存放的目錄、構(gòu)建輸出的目錄......等等。
定義的位置就是:超級(jí)POM。簡(jiǎn)單來說就是,你可以為工程指定父工程,若不指定父工程,則Maven中會(huì)存在默認(rèn)繼承的父工程,即超級(jí)POM。
超級(jí)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 在處理資源時(shí)將引用屬性的表達(dá)式替換為屬性值。


Build標(biāo)簽

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

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

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

Build標(biāo)簽使用

5.1 指定 JDK 版本
Maven 默認(rèn)的版本是jdk5,而Lambda表達(dá)式是jdk8版本,使用會(huì)報(bào)錯(cuò):
插件指定 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 這樣的命令來啟動(dòng)、運(yùn)行,但是SpringBoot的設(shè)計(jì)理念就是每一個(gè)【微服務(wù)】導(dǎo)出為一個(gè) jar 包,這個(gè) jar 包可以使用java -jar xxx.jar這樣的命令直接啟動(dòng)運(yùn)行。
所以SpringBoot提供了spring-boot-maven-plugin這個(gè)插件來定制打包行為。
所有的一切已經(jīng)都被 SpringBoot 封裝好了,所以配置非常簡(jiǎn)單,提供插件坐標(biāo)即可:
5.3 Mybatis逆向工程
由于使用存在局限性,并且無法實(shí)現(xiàn)【多表查詢】的操作,在實(shí)際開發(fā)中使用較少,所以不做過多介紹。


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

本文來源:“IT那活兒”公眾號(hào)

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://hztianpu.com/yun/129125.html

相關(guān)文章

  • Maven實(shí)戰(zhàn)Quick Start

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

    Yi_Zhi_Yu 評(píng)論0 收藏0
  • Maven核心概念和日常實(shí)踐

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

    894974231 評(píng)論0 收藏0
  • RPC框架實(shí)踐:Google gRPC

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

    malakashi 評(píng)論0 收藏0
  • RPC框架實(shí)踐:Google gRPC

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

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

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

    李義 評(píng)論0 收藏0
  • Maven就是這么簡(jiǎn)單

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

    leonardofed 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<