我们在实际工作中 ,有些项目的架构是相似的,例如基于 restful的接口项目,如果每次都重新搭建一套架构或者通过拷贝建立一个项目难免有些得不偿失,这里我们可以用maven的archtype建立项目模版来解决 。

创建maven archetype的步骤:

  • 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 时显示

其中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

<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 archetype

<sources>, <resources>, <testSources>, <testResources> , <siteResources>代表项目的不同部分

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

<sources>,<testSources>包含<source>,这个表示里面的一个源码文件

<testResources> a <siteResources>包含<resource>,这个表示里面是一个资源文件

  • 创建一个架构的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

创建基于maven的项目模版的更多相关文章

  1. 使用IDEA创建基于Maven SpringMvc项目

    使用IDEA创建基于Maven SpringMvc项目 1.通过程序启动——create project,或者file--New-projec打开New project 2.自定义groupid等信息 ...

  2. 基于maven的项目脚手架,一键创建项目的项目模板

    制作基于maven的项目脚手架 Springboot的出现极大的简化了项目开发的配置,然而,到真实使用的时候还是会有一堆配置需要设定.比如依赖管理,各种插件,质量扫描配置,docker配置,持续集成配 ...

  3. (三)创建基于maven的javaFX+springboot项目创建

    创建基于maven的javaFx+springboot项目有两种方式,第一种为通过非编码的方式来设计UI集成springboot:第二种为分离用户界面(UI)和后端逻辑集成springboot,其中用 ...

  4. 一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目。

    一些基本的操作,编译,构建,单元测试,安装,网站生成和基于Maven部署项目. 使用Maven构建项目“mvn package” 来构建项目 使用Maven清理项目“mvn clean” 来清理项目 ...

  5. maven 学习---用Eclipse创建一个Maven Web项目

    下面是使用 Eclipse 来创建一个Maven Web项目的说明.这是相当简单的. 现在让我们开始吧! 1: 启动 Eclipse, 点击 File->New->Other 2: 在弹出 ...

  6. Java Web学习系列——创建基于Maven的Web项目

    创建Maven Web项目 在MyEclipse for Spring中新建Maven项目 选择项目类型,在Artifact Id中选择maven-archetype-webapp 输入Group I ...

  7. (二)创建基于maven的javaFX项目

    首先使用IDEA创建一个javaFX项目 点击finish,这就创建完成了JavaFX项目,只有将其转换为maven项目即可,如图:

  8. Eclipse创建一个Maven Web项目

    在这篇文章中,我们将演示如何在Eclipse IDE中使用maven创建一个动态Web项目. 使用的工具和技术 - Eclipse Jee Oxygen Maven 3.3.3 JavaSE 1.8 ...

  9. (四)创建基于maven的javaFX+springboot项目,用户界面与后台逻辑分离方式

    下面来介绍创建maven的javaFX+springboot项目,基于用户界面与后天逻辑分离的方式,用户界面使用fxml文件来常见,类似于jsp,可以引入css文件修饰界面 maven依赖 <d ...

随机推荐

  1. WIN_2003_SP2.iso VMware 不能进行网络访问的处理

    1.打开IE发现不能上网的问题 ping命令 发现确实是网络不通: 2.关闭虚拟机设置网络适配器 3.ping命令验证是否设置成功 4.打开IE访问百度

  2. windows Oracle DBases auto backUp

  3. NSTimer你真的会用了吗

    http://www.cnblogs.com/smileEvday/archive/2012/12/21/NSTimer.html

  4. redhat5安装jdk6、eclipse和tomcat6

    redhat5安装jdk6.eclipse和tomcat6 1.安装jdk6 首先下载jdk(jdk-6u13-linux-i586.bin),对于redhat5,本人强烈建议不要安装jdk7,因为有 ...

  5. IDE idea 更换项目的JDK步骤

    1.如图:

  6. odbc连接数据库

    using System; using System.Collections.Generic; using System.Text; using Console = System.Console; u ...

  7. CSS文字超出div或者span时显示省略号

    我们常常需要在文本过长时显示,将超出显示成省略号: 思想为: 首先设置宽度,然后让超出的部分隐藏如果有超出则在最后显示省略号让文本不换行 具体css代码为: .title{ width:200px;o ...

  8. HTML 4.01 符号实体

    HTML 4.01 符号实体 http://www.w3school.com.cn/tags/html_ref_symbols.html

  9. C# 8 函数 调用 常用类 时间 日期型

    函数:能够独立完成某个功能的模块. 好处:1.结构更清析(编写.维护方便 ).2.代码重用.3.分工开发. 四要素:名称,输入(参数),输出(返回的类型),加工(函数体) 语法: 返回类型 函数名(参 ...

  10. 前端公共库cdn服务推荐//提高加载速度/节省流量

    前端公共库cdn服务推荐,使用可以提高js库加载速度同时也可以节省自己空间的流量,CDN加速公共库虽好,不过一定要使用靠谱的前端cdn服务提供方. 以下整理出比较靠谱的国内cdn加速服务器.排名不分先 ...