隨手寫個SpringBoot的maven腳手架


隨手寫個SpringBoot的maven腳手架

上期我們隨手寫了springboot微服務節點, 這期我們使用一種更加簡單的方式來完成.

使用maven腳手架來快速構建微服務.

Maven archetype

什么是archetype

簡單來說maven archetype插件就是創建項目的腳手架,你可以通過命令行或者IDE集成簡化項目創建的工作.

我們在使用IDEA其實就看到很多archetype

由以下模塊組成:

  • maven-archetype-pluginArchetype插件.通過該插件,開發者可以在Maven中使用Archetype.
  • archetype-packaging用於描述archetype的生命周期與構建項目軟件包
  • archetype-models用於描述類與引用
  • archetype-common核心類
  • archetype-testing用於測試Maven Archetype的內部組件

archetype 插件

http://maven.apache.org/archetype/maven-archetype-plugin/index.html
archetype流程圖
archetype plugin goal

  • archetype:create(不推薦)

    從archetype 中創建一個Maven項目.

  • archetype:generate

    從archetype 中創建一個Maven項目,需要開發人員在指定archetype,插件會從遠程倉庫中自動獲取.

  • archetype:create-from-project

    從已有的項目中生成archetype.

  • archetype:crawl

    搜索並更新倉庫中的archetype.

創建archetype

  • 首先找一個作為模板的項目
git clone https://github.com/allennotes/webserver
  • 在項目根目錄下執行,與主pom.xml的同級目錄
mvn archetype:create-from-project 

  • 將生產的target目錄移動到我們需要的目錄打開gitbash進行如下操作
    • 刪除idea的相關文件
      rm -rf ./idea
      find . -name "*.iml" -type f -print -exec rm -rf {} \; 
      
    • 刪除不需要的實例代碼
      find . -name "UserMain*" -type f -print -exec rm -rf {} \; 
      

archetype的組成

  • prototype files原型文件

    位於src/main/resources/archetype-resource目錄下.prototype files 原型文件可以理解為多模塊中的子模塊或是單模塊工程中的源文件.這些原型文件在使用對應archetype生成項目時被生成

  • archetype-metadata.xml

    位於src/main/resources/META-INF/maven/目錄下.該配置文件中主要列出了原型文件以及使用archetype生成模板工程需要的參數

  • prototype pom

    位於src/main/resources/archetype-resources目錄下.這個pom文件會出現在archetype創建的模板工程中,如果是單模塊工程,則是對整個項目的依賴管理;如果是多模塊工程,該pom是總pom文件,該文件中會定義項目的子模塊以及對子模塊的依賴進行管理等,子模塊pom定義在子模塊下,子模塊pom文件只管理子模塊的依賴.

  • archetype pom

    位於自定義archetype工程的根目錄下.這是archetype工程項目的pom文件, install時從中獲取本地參數

將archetype安裝到本地

  • 在archetype目錄下執行, 注意與pom.xml同級
mvn install 
  • 執行成功后,執行crawl命令,在本地倉庫的根目錄生成archetype-catalog.xml骨架配置文件:
    mvn archetype:crawl //更新索引 可不執行
    
<?xml version="1.0" encoding="UTF-8"?>
<archetype-catalog xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0 http://maven.apache.org/xsd/archetype-catalog-1.0.0.xsd"
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-catalog/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <archetypes>
    <archetype>
      <groupId>com.barm.archetypes</groupId>
      <artifactId>webserver-archetype</artifactId>
      <version>1.0.0</version>
      <description>Demo project for Spring Boot</description>
    </archetype>
  </archetypes>
</archetype-catalog>

IDEA archeType構建項目


通過mvn archetype:generate構建項目

從本地archeType模板中創建項目,執行

mvn archetype:generate -DarchetypeCatalog=local

然后依次選擇模板序號和groupId,artifactId,version和package信息:

寫在最后

建議拿過來就可以用不需要改什么,而且改了也不方便模板項目二次生成腳手架的更新.

腳手架github 源碼https://github.com/allennotes/webserver-archetype

這期就這么多了.歡迎大家評論,交流,關注,點贊~
3hGpS1.gif


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM