隨手寫個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 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 {} \;
- 刪除idea的相關文件
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
這期就這么多了.歡迎大家評論,交流,關注,點贊~