原文鏈接:https://www.cnblogs.com/snowstar123/p/3449349.html
最近項目組做好一套框架,為了推廣需要創建一些空白項目給項目組使用,因為所有的空白項目里面的配置基本上都是一樣的,為了減少重復工作,想通過maven創建一個自己的archetype,於是在網上大致搜了一下,結果按照搜到的做法基本上都是一樣的,但是發現在我本地跑的時候,就是有問題,找了好久,終於在國外的網站上找到一些重要的信息,在此記錄下來以供 有需要的同學們 學習;
我是通過命令行的方式來創建的,先下載maven,然后配置好maven,這里我就不說maven的配置啦!進入重點!
1.通過cmd到項目的所在路徑,執行 mvn archetype:create-from-project
2.執行第一步后,項目中會產生target目錄,cd到target\generated-sources\archetype下,執行mvn install
執行這個后,這個項目的archetype就會被保存到你maven的本地倉庫;
3.【網上搜到了很多文章都是說,直接執行mvn archetype:generate -DarchetypeCatalog=local;我執行這命令后,並沒有看到我新建好的archetype;當然,如果你可以先執行這命令看一下,如果可以看到你新建的archetype,那就根據cmd中的提示開始創建你的項目吧,如果沒有,那請按照我的說法來處理一下】
執行mvn archetype:crawl,執行完之后,到你的本地倉庫看一下,本地倉庫中是否存在archetype-catalog.xml,本地倉庫默認的路徑是當前用戶的目錄/.m2/repository;
我本地的archetype-catalog.xml內容如下:
<?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.zls.mvnbook</groupId>
<artifactId>hello-world-archetype</artifactId>
<version>1.0-RELEASE</version>
<description>hello-world</description>
</archetype>
<archetype>
<groupId>org.apache.maven.archetypes</groupId>
<artifactId>maven-archetype-quickstart</artifactId>
<version>1.0</version>
<description>quickstart</description>
</archetype>
<archetype>
<groupId>org.apache.maven.archetypes</groupId>
<artifactId>maven-archetype-quickstart</artifactId>
<version>1.1</version>
<description>quickstart</description>
</archetype>
</archetypes>
</archetype-catalog>
上面的第一個artifactId為hello-world-archetype就是我本地的archetype
4.執行mvn archetype:generate -DarchetypeCatalog=file://本地倉庫地址/archetype-catalog.xml,這個時候,看看是否存在你新建出來的archetype
我本地執行后命令行內容如下:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom >>
>
[INFO]
[INFO] <<< maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom <<
<
[INFO]
[INFO] --- maven-archetype-plugin:2.2:generate (default-cli) @ standalone-pom --
-
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.
archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: file://D:\repo-for-me\archetype-catalog.xml -> com.zls.mvnbook:hello-world-ar
chetype (hello-world)
2: file://D:\repo-for-me\archetype-catalog.xml -> org.apache.maven.archetypes:ma
ven-archetype-quickstart (quickstart)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive co
ntains): 2:
到了這里大家應該會創建了吧,這里選擇我們自己的archetype對應的數字或artifactId,如果我新建的archetype從命令行提示看 1: file://D:\repo-for-me\archetype-catalog.xml -> com.zls.mvnbook:hello-world-archetype (hello-world) 那么我只要輸入1,接下來就是你需要新建的項目的groupId,artifactId等等啦!。。。