国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Maven自定義腳手架(多module模塊)+自定義參數(shù)

這篇具有很好參考價(jià)值的文章主要介紹了Maven自定義腳手架(多module模塊)+自定義參數(shù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

視頻教程:Maven保姆級(jí)教程
Maven入門教程(一):安裝Maven環(huán)境
Maven入門教程(二):idea/Eclipse使用Maven
Maven入門教程(三):Maven語(yǔ)法
Maven入門教程(四):Nexus私服
Maven入門教程(五):自定義腳手架

腳手架

視頻教程:
Maven保姆級(jí)教程

腳手架是一個(gè)項(xiàng)目模板,包含常用的工程結(jié)構(gòu)、代碼。

1 自定義腳手架

腳手架創(chuàng)建的步驟如下,先創(chuàng)建一個(gè)工程,把常用的代碼寫(xiě)好,進(jìn)入工程根目錄,進(jìn)行如下操作:

打包模板
mvn archetype:create-from-project

進(jìn)入模板目錄,修改文件配置
cd ./target/generated-sources/archetype

如果想讓文件中的替換變量生效,需要先修改META-INF.maven/archetype-metadata.xml
將對(duì)應(yīng)目錄或文件增加 filtered=“true”
再使用變量替換對(duì)應(yīng)文件內(nèi)容

部署本地
mvn install

上傳倉(cāng)庫(kù)
mvn deploy

下面用一個(gè)多模塊的項(xiàng)目做演示,包含xml文件,yml文件,和其他文件。

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

我們要?jiǎng)?chuàng)建一個(gè)腳手架,使用這個(gè)腳手架創(chuàng)建工程時(shí),xxx要替換成指定值。

在根目錄下創(chuàng)建archetype.properties文件

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

archetype.groupId=com.test.maven
archetype.artifactId=archetype-test
archetype.version=1.0-SNAPSHOT
excludePatterns=**/.idea/**,**/*.iml

archetype-test(父工程)的pom中加入:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-archetype-plugin</artifactId>
      <version>3.2.0</version>
    </plugin>
  </plugins>
</build>

進(jìn)入項(xiàng)目根目錄,執(zhí)行mvn archetype:create-from-project

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

執(zhí)行成功后,跟目錄下會(huì)有一個(gè)target文件夾生成

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

接著要替換占位符,比如每個(gè)項(xiàng)目名字不一樣,xxx要替換成項(xiàng)目名,每個(gè)項(xiàng)目package前綴不一樣,也要替換;

常用占位符如下:

Variable Meaning
_rootArtifactId_ 做文件夾名替換用,例如_rootArtifactId_-dao, 占位符來(lái)動(dòng)態(tài)獲取父工程的ArtifactId
${rootArtifactId} 它保存用戶輸入的值作為項(xiàng)目名(maven在用戶運(yùn)行原型時(shí)在提示符中詢問(wèn)為artifactid:的值)
${artifactId} 如果您的項(xiàng)目由一個(gè)模塊組成,則此變量的值將與${rootArtifactId}相同,但如果項(xiàng)目包含多個(gè)模塊,則此變量將由每個(gè)模塊文件夾中的模塊名替換
`${package} 用戶為項(xiàng)目提供的包,也在用戶運(yùn)行原型時(shí)由maven提示
${packageInPathFormat} 與${package}變量的值相同,但將“.”替換為字符“/”,例如:,對(duì)于包c(diǎn)om.foo.bar,此變量為com/foo/bar
${groupId} 用戶為項(xiàng)目提供的groupid,在用戶運(yùn)行原型時(shí)由maven提示
${version} 版本號(hào)

首先替換module的名字,把xxx替換成_rootArtifactId_,注意兩邊是兩個(gè)下劃線

[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-kg2ParTl-1692174116914)(/image-20230815094204095.png)]

接著依次點(diǎn)開(kāi)每一個(gè)編譯后的文件,查看一下有沒(méi)有沒(méi)替換的占位符,正常編譯好的,動(dòng)態(tài)部分都會(huì)替換掉,如下圖:

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

但是也會(huì)有一些替換錯(cuò)的,有時(shí)候package前綴和groupId一樣時(shí),一些package會(huì)被替換成groupId,我們要手動(dòng)修正它;

當(dāng)前項(xiàng)目里,這個(gè)application.yml就沒(méi)有被替換掉

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

改成如下形式:

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

接著是核心文件:archetype-metadata.xml

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

找到modules節(jié)點(diǎn),每個(gè)modules都要替換,

module屬性介紹:

  • ? id:子模塊工程的artifactId

  • ? dir:子模塊工程源文件在archetype-resources里對(duì)應(yīng)的directory

  • ? name :子模塊的名字.,可定制化自己的服務(wù)模塊。

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

替換成

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

如果有其他自定義參數(shù),比如項(xiàng)目中的xxx和類名中的Xxx需要替換,可以自定義參數(shù),自定義參數(shù)在archetype-metadata.xml里加入<requiredProperties>

key是屬性名,defaultValue時(shí)默認(rèn)名

 <!--屬性變量定義-->
  <requiredProperties>
    <requiredProperty key="appName">
      <defaultValue>demo</defaultValue>
    </requiredProperty>
    <requiredProperty key="appNameCap">
      <defaultValue>Demo</defaultValue>
    </requiredProperty>
  </requiredProperties>

去替換文件中的內(nèi)容,路徑中的參數(shù)是雙下劃線_參數(shù)名_,文件內(nèi)部的參數(shù)是${參數(shù)名}

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

一般xml文件、java文件模板會(huì)自動(dòng)替換占位符,另外有一些自定義文件,模板不會(huì)識(shí)別,比如sh腳本、md文件等,我們以Dockerfile為例(隨便自己定義個(gè)文件也行),在archetype-metadata.xml寫(xiě)<fileSets>

    <fileSets>
        <!-- 寫(xiě)進(jìn)模板,但不替換的占位符的,不設(shè)置 filtered="true"即可-->
        <!-- 寫(xiě)進(jìn)模板,要替換的占位符的,filtered="true"-->
        <fileSet encoding="UTF-8" filtered="true">
            <directory></directory>
            <includes>
                <include>Dockerfile</include>
                <include>README.md</include>
            </includes>
        </fileSet>
    </fileSets>

每一個(gè)module下面如果有默認(rèn)不識(shí)別的文件也要單獨(dú)配置:

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

去替換文件中的內(nèi)容:

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

注意檢查文件,沒(méi)有遺漏之后可以安裝腳手架了,上面示例只是替換了一些常用文件,并沒(méi)有替換所有,根據(jù)自己需求,替換所有需要編輯的文件。
進(jìn)入target\generated-sources\archetype下,執(zhí)行 mvn install

注:如果有自定義參數(shù),需要在test/resources/projects/archetype.properties里配置自定義參數(shù)

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

執(zhí)行成功后,在我們本地的maven倉(cāng)庫(kù)里會(huì)有一個(gè)archetype-catalog.xml文件

打開(kāi)這個(gè)文件就能看到已經(jīng)安裝的腳手架信息:

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

2 使用腳手架

2.1 命令

在工作區(qū)里執(zhí)行:mvn archetype:generate -DappName=abc -DappNameCap=Abc

其中-D后面接的時(shí)自定義參數(shù),也可以接默認(rèn)參數(shù),如-DgroupId

如果你安裝過(guò)多個(gè)腳手架,會(huì)提示一個(gè)腳手架列表,選擇腳手架編號(hào):

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

會(huì)提示我們讓我們輸入各項(xiàng)參數(shù),

確認(rèn)按Y或者回車;

輸入其他字母,重新輸入?yún)?shù);

按ctrl+c終止創(chuàng)建工程

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

2.2 idea

或者直接用idea

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

舊版

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

2.3 Eclipse

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

項(xiàng)目就創(chuàng)建好了

Maven自定義腳手架(多module模塊)+自定義參數(shù),maven,maven,java,腳手架

刪除腳手架只要?jiǎng)h除archetype-catalog.xml對(duì)應(yīng)的節(jié)點(diǎn)就可以了文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-653918.html

到了這里,關(guān)于Maven自定義腳手架(多module模塊)+自定義參數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • GuLi商城-前端基礎(chǔ)Vue-使用Vue腳手架進(jìn)行模塊化開(kāi)發(fā)

    GuLi商城-前端基礎(chǔ)Vue-使用Vue腳手架進(jìn)行模塊化開(kāi)發(fā)

    自己親自實(shí)踐: mac安裝webpack 前提:已經(jīng)安裝node.js,可以參考 https://blog.csdn.net/ZHOU_VIP/article/details/128807814?spm=1001.2014.3001.5501 webpack 安裝 首先確認(rèn)一下是否已經(jīng)安裝: webpack -v 如果提示? command not found: webpack ,則表示未安裝。 在Mac OS上安裝webpack,需要先安裝Node.js和npm。建議

    2024年02月11日
    瀏覽(24)
  • 關(guān)于 Error: Cannot find module ‘webpack/lib/RuleSet‘ 的詳細(xì)解決方法(親測(cè)有效)- 以及刪除腳手架的方法

    關(guān)于 Error: Cannot find module ‘webpack/lib/RuleSet‘ 的詳細(xì)解決方法(親測(cè)有效)- 以及刪除腳手架的方法

    ? ? ? 對(duì)于出現(xiàn)的這個(gè)錯(cuò)誤,之前我也嘗試了網(wǎng)上的多種解決方案,最終經(jīng)過(guò)測(cè)試后,是通過(guò)將原來(lái)的?@vue/cli? 版本降級(jí)到?4.5.15 版本,最后再重新安裝?node_modules 包 才得以解決。 ? ? ?下面是我將介紹怎么安裝?4.5.15 版本的腳手架等。 (1)首先需要卸載全局安裝的?@vu

    2024年02月08日
    瀏覽(26)
  • 【Openapi-ui+Knife】springdoc-openapi-ui 整合 knife,多模塊分組,腳手架

    【Openapi-ui+Knife】springdoc-openapi-ui 整合 knife,多模塊分組,腳手架

    ?pom文件: yum文件: swagger配置文件 訪問(wèn)swagger-ui: 訪問(wèn)doc.html:?http://localhost:18080/doc.html

    2024年02月04日
    瀏覽(40)
  • 三、創(chuàng)建腳手架和腳手架分析

    三、創(chuàng)建腳手架和腳手架分析

    1、安裝node.js **下載地址:**https://nodejs.org/zh-cn/ 界面展示 2、檢查node.js版本 查看版本的兩種方式 node -v node -version 出現(xiàn)版本號(hào)則說(shuō)明安裝成功(最新的以官網(wǎng)為準(zhǔn)) 3、為了提高我們的效率,可以使用淘寶的鏡像源 輸入: npm install -g cnpm --registry=https://registry.npm.taobao.org 即可安

    2024年02月22日
    瀏覽(25)
  • Webpack項(xiàng)目學(xué)習(xí):Vue-cli(腳手架)-優(yōu)化配置 -ui庫(kù)element-plus+減小打包體積 -按需加載+自定義主題+優(yōu)化

    Webpack項(xiàng)目學(xué)習(xí):Vue-cli(腳手架)-優(yōu)化配置 -ui庫(kù)element-plus+減小打包體積 -按需加載+自定義主題+優(yōu)化

    安裝 全部引入,在入口文件main.js ?啟動(dòng):npm start ?按需引入 需要插件快速開(kāi)始 | Element Plus (gitee.io) ? ? 更改默認(rèn)配置 主題 | Element Plus (gitee.io) ? ?如果有模塊沒(méi)有安裝 ,安裝一下即可 優(yōu)化 關(guān)閉性能分析 文件單獨(dú)打包 做緩存-

    2024年02月08日
    瀏覽(99)
  • win系統(tǒng)將腳手架的軟鏈接指向本地腳手架

    win系統(tǒng)將腳手架的軟鏈接指向本地腳手架

    先了解一下腳手架研發(fā)、發(fā)布、安裝、調(diào)試發(fā)大致流程: 本地研發(fā),具體研發(fā)過(guò)程略 當(dāng)前目錄下登錄npm npm login 發(fā)布腳手架 npm publish 安裝腳手架 npm i -g xxxx(win系統(tǒng)會(huì)在系統(tǒng)盤的nodejs文件夾下自動(dòng)添加腳手架執(zhí)行命令和執(zhí)行文件) 執(zhí)行腳手架命令,沒(méi)問(wèn)題的話說(shuō)明整個(gè)流程

    2024年02月08日
    瀏覽(41)
  • 安裝React腳手架

    在安裝React腳手架之前,你需要決定使用哪個(gè)包管理工具。這里我們選擇使用npm。運(yùn)行下面的命令來(lái)安裝React腳手架: 這個(gè)命令會(huì)在全局安裝React腳手架工具create-react-app。 現(xiàn)在,你已經(jīng)準(zhǔn)備好創(chuàng)建一個(gè)新的React應(yīng)用程序了。使用下面的命令來(lái)創(chuàng)建一個(gè)名為myreactapp的React應(yīng)用程

    2024年02月09日
    瀏覽(86)
  • 設(shè)計(jì)自己的腳手架

    前言 ? 在工程中,不僅是軟件工程,在建筑行業(yè),我們也經(jīng)常能看到腳手架的概念。腳手架(又稱為 CLI ,全稱 command-line interface ),我理解是一種快速構(gòu)建項(xiàng)目的工具,它主要提供了項(xiàng)目的基礎(chǔ)結(jié)構(gòu)和一些常用的配置,避免了從頭開(kāi)始搭建項(xiàng)目的繁瑣工作。通過(guò)使用腳手架

    2024年02月16日
    瀏覽(25)
  • React 腳手架

    React 腳手架(React boilerplate)是一種預(yù)先設(shè)置好的、可以快速啟動(dòng) React 項(xiàng)目的工具。腳手架已經(jīng)包含了 React、Webpack、Babel、ESLint、Jest 等一些常用的工具和庫(kù),并已經(jīng)配置好了這些工具的參數(shù),可以直接使用和自定義修改。使用 React 腳手架可以大大加快項(xiàng)目的啟動(dòng)和開(kāi)發(fā),同

    2024年02月13日
    瀏覽(28)
  • 腳手架開(kāi)發(fā)流程詳解

    創(chuàng)建npm項(xiàng)目 創(chuàng)建腳手架入口文件,最上方添加 配置package.json,添加bin屬性 編寫(xiě)腳手架代碼 將腳手架發(fā)布到npm 安裝腳手架 使用腳手架 分包:將復(fù)雜的系統(tǒng)拆分成若干個(gè)模塊 命令注冊(cè): 參數(shù)解析 options全稱:–version、–help options簡(jiǎn)寫(xiě):-V、-h 帶params的options: --path /Users/sam/D

    2024年02月07日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包