1. 程式人生 > >Maven自定義archetype生成專案骨架

Maven自定義archetype生成專案骨架

通過 maven-archetype-plugin 外掛可以自定義符合我們自己需求的archetype。

1.什麼是Archetype

Archetype是一個Maven專案模板工具包。通過Archetype我們可以快速搭建Maven專案。

常見的Archetype:

簡單的maven工程骨架

  • maven-archetype-quickstart

  • maven-archetype-simple

簡單的maven web工程骨架

  • maven-archetype-webapp

2.使用archetype建立專案

mvn archetype:generate

上面的命令執行後會輸出很多maven官方提供的archetype,我們可以根據這些archetype來生成專案骨架。

官方提供的archetype不能滿足我們的需求時,我們就需要自定義archetype來方便我們自己使用了。

3.建立自定義的archetype專案

3.1 建立一個maven project

建好自己想要的目錄,想引用的包。

  1. Java程式碼存放到src/main/java目錄下面
  2. 會將一些通用的配置檔案放到src/main/resources目錄下面
  3. 還會有一些html等的檔案存放到src/main/webapp目錄下面
  4. pom檔案引用

注意version型別一定是RELEASE版本

3.2 新增archetype外掛

然後在建立的maven project的pom.xml檔案中新增archetype外掛。

<build>  
    <pluginManagement>  
        <plugins>  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-archetype-plugin</artifactId
>
<version>3.0.0</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </pluginManagement> </build>

3.3 執行archetype專案

1.安裝該archetype專案到你的本地倉庫。

mvn archetype:create-from-project 

此時會在該專案的target目錄下發現如下檔案:

---target
    ---generated-sources
            ---archetype
                ---our project

進入到archetype目錄下,也就是到達我們專案的根目錄執行:

cd target/generated-sources/archetype/
mvn install 

[INFO] Installing /home/local/xiao/projects/tmp/project/target/generated-sources/archetype/target/project-1.0-SNAPSHOT.jar to /home/xiao/.m2/repository/com/company/project/1.0-SNAPSHOT/project-1.0-SNAPSHOT.jar  
[INFO] [archetype:update-local-catalog]  
[INFO] ------------------------------------------------------------------------  
[INFO] BUILD SUCCESSFUL  
[INFO] ------------------------------------------------------------------------  
[INFO] Total time: 6 seconds  
[INFO] Finished at: Fri Feb 22 23:23:23 GMT 2016  
[INFO] Final Memory: 15M/45M  
[INFO] ------------------------------------------------------------------------  

執行crawl命令,生成archetype-catalog.xml:

mvn archetype:crawl

會發現在咱們的本地倉庫的根目錄生成archetype-catalog.xml骨架配置檔案。

<archetype>  
  <groupId>com.jeiker.archetype-demo</groupId>  
  <artifactId>archetype-demo-archetype</artifactId>  
  <version>1.0.0-RELEASE</version>  
  <description>archetype-demo</description>  
</archetype>  

2.釋出該archetype專案到你的本地私服(nexus)。

mvn deploy

4.配置IDE

在IDE中配置本地私服(nexus)中archetype的地址。

http://127.0.0.1:8081/nexus/content/groups/public/archetype-catalog.xml

5.使用自定義的archetype

本地

mvn archetype:generate -DarchetypeCatelog=local    

遠端

mvn archetype:generate -DarchetypeCatelog=romote        
mvn archetype:generate -DarchetypeCatelog=http:localhost:8080/archetype-catalog.xml        

建立maven普通專案:

mvn archetype:generate 
    -DgroupId=com.jeiker.xiao
    -DartifactId=maven-demo 
    -DarchetypeArtifactId=maven-archetype-quickstart 
    -DinteractiveMode=false 
    -DarchetypeCatalog=local

建立maven web專案:

mvn archetype:generate 
    -DgroupId=com.jeiker.xiao
    -DartifactId=maven-demo-web 
    -DarchetypeArtifactId=maven-archetype-webapp 
    -DinteractiveMode=false 
    -DarchetypeCatalog=local

6.archetype命令

1.幫助命令:

archetype:help

2.爬取一個maven倉庫,建立目錄檔案:

archetype:crawl

3.根據一個工程,建立一個新的archetype:

archetype:create-from-project

4.根據一個archetype,建立一個新的工程:

archetype:generate

5.根據當前的archetype工程,建立一個jar包:

archetype:jar

6.更新本地的maven目錄:

archetype:update-local-catalog

相關推薦

Maven定義archetype生成專案骨架

通過 maven-archetype-plugin 外掛可以自定義符合我們自己需求的archetype。 1.什麼是Archetype Archetype是一個Maven專案模板工具包。通過Archetype我們可以快速搭建Maven專案。 常見的

Maven定義archetype生成專案骨架

摘要:使用過Maven的人都知道maven中有許多功能都是通過外掛來提供的,今天我們來說一下其中的一個外掛:maven-archetype-plugin,通過該外掛可以自定義符合我們自己需求的archetype。一:什麼是Archetype總之,原型是一個Maven專案模板工

Maven 定義archeType

1. 什麼是archeType 我們在建立maven專案的時候,你會發現有這麼多的apache提供的模板。 或者使用 mvn archetype:generate命令來快速建立maven專案,也會有很多個選項,讓你選擇模板序號。那每個模板之間有什麼區別呢? 每個模板裡

maven定義Archetype

1、建立模板專案     如下 2、模板專案的pom.xml中新增archetype外掛 <plugin> <groupId>org.apache.maven.plugins</groupId> <

微服務時代之定義archetype(模板/骨架/腳手架)

1. 場景描述 (1)隨著微服務越來越常見,一個大的專案會被拆分成多個小的微服務,jar包以及jar之間的版本衝突問題,變得越來越常見,如何保持整體微服務群jar及版本統一,也變成更加重要了,maven的自定義archetype(模板/骨架/腳手架)很好的解決了這個問題,在新建微服務專案的時候,使用統一的ar

MAVEN定義專案骨架

如果你想定義一個maven工程模板,有一種很快的方法: 1.定義你開發環境的目錄結構,寫一個pom.xml. 2.使用命令,mvn archetype:create-from-project 建立一個工程模板。 3.在target目錄下執行mvn install.執行完之後你就可以使用你的模板了。 4.執行命

maven生成專案骨架時報錯ResourceManager : unable to find res

生成骨架時生成archetype.xml指令碼 問題描述:沒有方法通過*號批量匹配檔案[INFO] ----------------------------------------------------------------------------[INFO] Using follo

maven定義骨架

1  maven自定義archtype骨架 Maven的 archetype技術,為新建標準化的工程框架提供了方便。為自定義一套工程框架標準,可參考以下步驟操作: 1.1  建立一個專案的原型 專案根目錄:project-name 1.2  建立專案骨架 在專案根目錄pr

maven定義spark任務的archetype

本來spark工程是推薦用sbt的,但是sbt因為某些原因在國內實在是太慢了,所以嘗試用eclipse+maven+scala外掛, 然而scala-tools提供的archetype預設使用scala2.7.0,讓人每次都去修改,然後又要去新增Hadoop、spark之類

Mybatis框架(9)---Mybatis定義外掛生成雪花ID做為表主鍵專案

Mybatis自定義外掛生成雪花ID做為主鍵專案 先附上專案專案GitHub地址 spring-boot-mybatis-interceptor 有關Mybatis雪花ID主鍵外掛前面寫了兩篇部落格作為該專案落地的鋪墊。 1、Mybatis框架---Mybatis外掛原理 2、java演算法---靜態內部類

WF4.0以上使用代碼完整定義動態生成執行工作流Xaml文件

load 控制 brush 類型 rpv 返回 cap 並且 sco 給大家分享一下,如何完全使用代碼自定義的創建生成工作流文件(用代碼創建Xaml文件),並且動態加載運行所生成的工作流。 工作流生成後 在Xaml文件裏的主要節點如下: 輸入輸出參數 <x

maven定義jar到本地倉庫

解決 第三方 包安裝 構建 bho ins 麻煩 第三方jar包 packaging Apache Maven為項目構建提供了絕佳的解決方案,其本地倉庫中緩存了遠程代理倉庫或中央倉庫中的資源,從而提高網絡資源使用效率,很好很強大!   但是並非所有資源都可以根據GroupI

mybatis-generator定義註釋生成

    最近做的專案發現沒有中文註釋,故查詢資料,特此記錄。 本文所用的是基於mybatis-generator 1.3.2版本來完成的。 mybatis-generator 自動生成的程式碼註釋是很反人類的,通常我們在使用的時候都是按照如下設定關閉註釋: &

spring boot、maven定義配置檔案

在pom.xml中設定<profiles>標籤來指定配置檔案載入路徑 <profiles> <profile> <id>local</id> <

maven定義外掛

建立一個Maven專案,具體怎麼建立略。 將pom.xml檔案的packaging 改為maven-plugin <packaging>maven-plugin</packaging> pom.xml中引入外掛依賴 <

定義vue-cli3專案配置

1. 修改預設配置 vue.config.js module.exports = { outputDir: 'docs', baseUrl: process.env.NODE_ENV === '

java定義註解-生成sql語句

一、自定義Table註解@Target(value=ElementType.TYPE)//使用在類或介面上 @Retention(value=RetentionPolicy.RUNTIME)//在執行期間可以獲取 @Documented//文件含有該註解 public @in

web專案tomcat啟動url定義(去掉專案名)

 通常,使用maven構建web專案,啟動時預設的訪問路徑: http://ip:port/專案名 很多時候我們不喜歡這樣 訪問,我們希望下面的訪問方式: http://ip:port 如果是本地的tomcat,這個就很好解決,只要設定下tomcat就可以 但是如果是maven專

定義task生成jar包

背景:之前轉載過別人的在build.gradle中自定義task來打Jar包的文章 文章地址:http://blog.csdn.net/u010479969/article/details/76096162 如果是簡單的單一工程需求,這個完全可以滿足,但是作為如果想要支撐

springboot 基於 maven 定義格式打包

第一步,開啟專案所在的工作空間並建立conf資料夾,在該檔案下建立package.xml  內容如下: <assembly> <id>bin</id> <!-- 最終打包成一個用於