根据需要定制Maven的ArcheType的好处不言而喻了,我就不再啰嗦。定制一般通过从Maven的项目构建,比手动构建省去了配置文件的编写、资源文件的复制等繁琐的操作,下面我们就说下从Maven项目中构建定制的ArcheType。

  1. 构建Maven项目
    你可以使用Maven命令来创建,我们这使用Eclipse来构建项目,因为后面将展示如何使用配置文件来清理一些不想要的资源。使用Eclipse(安装了Maven插件的)创建Maven Project项目:

    File->New->Other->Maven->Maven Project

    创建的项目结构如:

    默认的Junit使用的版本是3.8.1,我们想以后都使用比较新的版本如4.11(仓库查询:http://mvnrepository.com),需要修改pom.xml,把

    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
    </dependency>

    修改为

    <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
    <scope>test</scope>
    </dependency>
  2. 生成archetype
    在ArcheTypeDemo上右键->Run As->Maven build...

    默认的是使用maven-archetype-plugin:2.2生成的,如果你需要使用最新版本的maven-archetype-plugin请配置pom.xml,Run后在target目录下生成了一个generated-sources目录,里面就是archetype。
  3. 安装archetype到本地仓库
    如操作步骤如2,但”Base directory“需要选择generated-sources/archetype,然后在Goals里输入install,或使用Maven指令

    cd target/generated-sources/archetype& mvn install

    执行后输出:

    [INFO] --- maven-install-plugin:2.5.1:install (default-install) @ ArcheTypeDemo-archetype ---
    [INFO] Installing D:\workspace\ArcheTypeDemo\target\generated-sources\archetype\target\ArcheTypeDemo-archetype-0.0.1-SNAPSHOT.jar to D:\Java\local_repository\net\oseye\ArcheTypeDemo-archetype\0.0.1-SNAPSHOT\ArcheTypeDemo-archetype-0.0.1-SNAPSHOT.jar
    [INFO] Installing D:\workspace\ArcheTypeDemo\target\generated-sources\archetype\pom.xml to D:\Java\local_repository\net\oseye\ArcheTypeDemo-archetype\0.0.1-SNAPSHOT\ArcheTypeDemo-archetype-0.0.1-SNAPSHOT.pom
    [INFO] 
    [INFO] --- maven-archetype-plugin:2.2:update-local-catalog (default-update-local-catalog) @ ArcheTypeDemo-archetype ---

    这样就把你定制的archetype发布到本地仓库了,如果要安装到远程仓库需要使用deploy命令。

  4. 使用定制的archetype
    安装完后,如步骤1的操作步骤来创建Maven Project,在选择Archetype的时候,通过Filter:
  5. 清理工作
    如果步骤4,你不使用Eclipse,而是使用Maven指令来创建,创建的项目你会多了一些不必要的文件:

    很不干净。需要修改

    target/generated-sources/archetype/src/main/resources/META-INF/maven/archetype-metadata.xml

    来清理,删除

     <fileSet encoding="UTF-8">
    <directory>.settings</directory>
    <includes>
    <include>**/*.prefs</include>
    </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
    <directory></directory>
    <includes>
    <include>.classpath</include>
    <include>.project</include>
    </includes>
    </fileSet>

    然后重新安装ArcheType到本地仓库即可。

定制Maven的ArcheType的更多相关文章

  1. Maven-003-私人定制 maven archetype

    在使用 Maven 创建项目模块的时候,依据其默认的 archetype 模板,创建出的目录.及默认的单元测试工具为 JUnit 3.8.1,而且有些常用的资源文件目录.配置文件(例如:Log4J 的 ...

  2. 如何使用Maven的archetype快速生成一个新项目(解决生成项目目录不完整问题)

    Maven的archetype Plugin可能大家都听过,但不一定都能很好地用好它.缺省地如果你使用 mvn archetype:generate  会从maven的Repository里查找所有支 ...

  3. 手写Maven的archetype项目脚手架

    一.背景 maven是一个很好的代码构建工具,采用“约定优先于配置”的原则进行项目管理,相信很多的java开发者应该都了解maven并可能在工作当中都是通过maven来管理项目的,在创建的项目的时候, ...

  4. 学习笔记:Maven的ArcheType的学习笔记

    摘要:     Archetype是什么?它由哪些文件组成?如何创建和安装自己的archtype,如何使用自己创建的archetype? 一.Archetype是什么     Archetype其实就 ...

  5. 定制Maven原型生成项目

    1自定义原型 1.1创建原型项目 要定制自己的原型,首先就要创建原型项目来进行定制: mvnarchetype:create -DgroupId=com.cdai.arche -DartifactId ...

  6. Maven使用archetype迅速生成项目骨架

    archetype意思是"原型",相当于项目模板.archetype是maven的一个插件,相当于模板工具包. 一个十分重要的mvn指令:mvn 插件名:目标名maven自带三个内 ...

  7. Maven 添加自定义 archetype

    环境:jdk7 maven3.23 eclipse mars 关于maven是使用插件自带的还是单独下载的,应该都是可以的,但是要注意maven和jdk版本的问题,比如3.2.3版本的maven支持j ...

  8. 使用maven创建Archetype

    Archetype原型 也就是说为项目生成一个原型,可以把这个项目发布,其他人就可以直接通过命令构建一个原型项目了. 其实我一开始也是不知道maven还有这个功能的,但是在使用的springside的 ...

  9. Maven自定义Archetype

    Maven提供了archetype帮助我们快速构建项目骨架,很便捷.但是,中央仓库中的archetype版本过于陈旧,构建好项目后,需要修改很多信息,甚是麻烦,那么如何自定义个archetype就显得 ...

随机推荐

  1. 天兔(Lepus)监控系统慢查询分析平台安装配置

    被监控端要安装pt工具 [root@HE1~]## yum -y install perl-IO-Socket-SSL [root@HE1~]## yum -y install perl-DBI [r ...

  2. TForm类

    显示给用户的窗体有两种:有模式和无模式的.具体使用哪一种窗体,取决于是否希望用户能够同时与这个窗体和其他窗体交互. 1.当打开一个模式窗体后,用户无法与应用程序的其他部分交互,知道用户关闭了这个窗体. ...

  3. Canvas globalCompositeOperation API

    参考: http://www.cnblogs.com/jenry/archive/2012/02/11/2347012.html <!DOCTYPE html> <html lang ...

  4. Paxos 实现日志复制同步(Multi-Paxos)

    Paxos 实现日志复制同步 这篇文章以一种易于理解的方式来解释 Multi-Paxos 的机制. Multi-Paxos 的是为了创建日志复制 一种实现方式是用一组基础 Paxos 实例,每条记录都 ...

  5. 用Spark学习FP Tree算法和PrefixSpan算法

    在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的角度介绍如何使用这两个算法.由于scikit-l ...

  6. POJ2796(单调栈)

    Feel Good Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 12987   Accepted: 3639 Case T ...

  7. 如何利用express新建项目(上)

    如何利用express新建项目(上) 摘要 这篇文章将讲解了如何快速利用express新建项目 一.express4.x的安装 1. npm install -g express 2. npm ins ...

  8. js实现省市区联动

    先来看看效果图吧,嘻嘻~~~~~~~~~~~~~~~~~~~· 代码在下面: 示例一: html: <!DOCTYPE html> <html> <head> &l ...

  9. ContextMenu控件引用以及不用v4包的方法

    最近想撸个APP出来玩玩,本想用Yalantis出的SideMenu,结果因为依赖问题放弃了,改用他们家的ContextMenu. 如果你用了v4包 那么问题就比较简单了,直接打开项目中app中的bu ...

  10. 修改本地配置远程连接oracle数据库

    当我们需要查看数据库信息时,我们更愿意通过客户端来查看,这样不仅操作方便,而且查看更精准.那么需要远程连接数据库需要在本地修改那些配置呢?以下是我个人的经验,希望大家都指正. 1.在oracle安装目 ...