1. 程式人生 > >maven中archetype(原型)的使用及建立

maven中archetype(原型)的使用及建立

當我們在idea中建立專案時,經常會見到如下介面選擇:


archetype也就是原型,準確說是一個專案模板,我們可以根據該模板來生成專案。

我就不介紹圖形介面的建立方式了,一步一步太囉嗦了,我們用命令方式建立。

建立一個常見的webapp專案。

命令如下:

mvn archetype:generate -DgroupId=com.cj  -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

archetype:generate //archetype代表外掛名,generate代表目標,一個外掛有多個目標

意思就是我們通過archetype外掛建立一個webapp專案,專案的groupId是com.cj,專案id是webAppDemo.使用的專案archetype是maven-archetype-webapp。也就是一個java web專案。interactiveMode= false,代表在執行過程中,使用者不能進行輸入操作。預設是true,需要使用者進行操作。

這裡我們用到了一個外掛archetype,執行他的generate目標來建立專案,當然還有其他目標,比如:create-from-project,下面我會介紹。

看下上面建立的結果和專案結構:


上面建立完的專案還不是很標準的webapp專案,我們還要作寫處理,參考:

idea建立webapp專案

好了,上面介紹瞭如何使用原型建立專案,再來介紹如何根據自己的專案建立原型。

在專案的根目錄,執行如下命令:

1.mvn archetype:create-from-project

它會生成archetype專案的相關檔案。


2.mvn install

切換到專案的target/generated-sources/archetype/下,執行上面命令,我們要對archetype專案打包。


可以看到,我們已經生成了archetype專案。

那我們來測試下,根據我們生成的archetype專案來生成項專案,有2種方法。

方法1:利用自動生成的archetype-catalog.xml來建立專案。

當我們install後,會在~/m2.目錄生成如下定義archetype檔案:


<?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.chenjun</groupId>
      <artifactId>springBootAop-archetype</artifactId>
      <version>1.0.1</version>
      <description>Spring Boot AOP Sample</description>
    </archetype>
  </archetypes>
</archetype-catalog>

我們執行:mvn archetype:generate -DarchetypeCatalog=local

表示利用本地archetype-catalog.xml定義的archetype來建立專案。




方法2:需要將install後的achetype專案copy到外掛查詢目錄org\apache\maven\archetypes




可以看到,利用自己生成的archetype,能夠生成我們自己的專案了。

PS:記得把自己installl的archetype的jar,手工copy到本地倉庫的org\apache\maven\archetypes目錄下,因為是從該目錄下查詢本地外掛。


總結:

一、根據archetype建立專案的命令

      mvn archetype:generate -DgroupId=com.cj  -DartifactId=webAppDemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

二、根據專案生成archetype的命令

     1.mvn archetype:create-from-project     //生成archetype專案檔案
     2.cd target/generated-sources/archetype/   //切換到archetype專案跟目錄
     3.mvn install   //對archetype專案打包安裝
     4.mvn archetype:generate -DarchetypeCatalog=local  //利用local本地提供的archetype建立專案