建立基於maven的項目模版

咱們在實際工做中 ,有些項目的架構是類似的,例如基於 restful的接口項目,若是每次都從新搭建一套架構或者經過拷貝創建一個項目不免有些得不償失,這裏咱們能夠用maven的archtype創建項目模版來解決 。java

建立maven archetype的步驟:apache

  • archetype組成:
  1. archetype.xml  (src/main/resources/META-INF/maven/)
  2. 框架自己的源碼和資源文件模版  src/main/resources/archetype-resources/
  3. 框架自己的pom文件模版 src/main/resources/archetype-resources/
  4. 生成框架的這個archetype的pom

archetype的pom,這裏面的groupId,artifactId,version會在執行maven 的archetype generate 時顯示restful

其中pom中的 id應該和archetype.xml裏面的artifactId一致架構

            pom.xml框架

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

 

  <groupId>my.groupId</groupId>

  <artifactId>quickstart</artifactId>

  <version>1.0-SNAPSHOT</version>

  <packaging>jar</packaging>

</project>

 

archetype.xml  maven

 

<archetype xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0 http://maven.apache.org/xsd/archetype-1.0.0.xsd">

  <id>quickstart</id>

  <sources>

    <source>src/main/java/App.java</source>

  </sources>

  <testSources>

    <source>src/test/java/AppTest.java</source>

  </testSources>

</archetype>

 

 

  • 標籤說明:

 <allowPartial>true</allowPartial>  該標籤說明在一個已經存在的項目中依然能夠運行 mvm archetypeui

 <sources>, <resources>, <testSources>, <testResources> , <siteResources>表明項目的不一樣部分spa

    • <sources> = src/main/java
    • <resources> = src/main/resources
    • <testSources> = src/test/java
    • <testResources> = src/test/resources
    • <siteResources> = src/site

 

<sources><testSources>包含<source>,這個表示裏面的一個源碼文件rest

<testResources> a <siteResources>包含<resource>,這個表示裏面是一個資源文件code

 

  • 建立一個架構的pom模版
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

 

  <groupId>${groupId}</groupId>

  <artifactId>${artifactId}</artifactId>

  <version>${version}</version>

  <packaging>jar</packaging>

  <name>A custom project</name> 

  <dependencies>

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>3.8.1</version>

      <scope>test</scope>

    </dependency>

  </dependencies>

</project>

 

${artifactId}和${groupId} 將在執行maven archetype 裏面提示

 

 

配置完後,執行

mvn install完成安裝

 

 

安裝後,執行

 

mvn archetype:generate                                  \

  -DarchetypeGroupId=<archetype-groupId>                \

  -DarchetypeArtifactId=<archetype-artifactId>          \

  -DarchetypeVersion=<archetype-version>                \

  -DgroupId=<my.groupid>                                \

  -DartifactId=<my-artifactId>

 

能夠完成該架構的安裝

 

 

 

eg:

mvn archetype:generate                                  \

  -DarchetypeGroupId=com.taobao.data.arch               \

  -DarchetypeArtifactId=jersey-quickstart          \

  -DarchetypeVersion=1.0-SNAPSHOT               \

  -DgroupId=com.taobao.data.zl                                \

  -DartifactId=testjersey

相關文章
相關標籤/搜索