maven archetype生成自定义项目原型(模板)
maven archetype可以将一个项目做成项目原型,之后只需要以此原型来创建项目,那么初始创建的项目便具有原型项目中的一切配置和代码.通俗讲就是一个项目模板.
eclipse中那些快速生成maven项目的插件,利用的就是maven的原型功能.所以如果我们自己生成满足我们特定需求的项目原型,也可以像使用插件那样快速搭建起基础项目代码.
1.首先我们创建一个新的maven项目(项目编码务必采用utf-8,至于为何后面会讲),而项目的artifactId务必选一些不容易重复的名字(原因后面说),推荐格式为xxx-xxx.我这里创建了一个shiro-auth的项目:
2.添加项目的功能代码和配置文件.并确保项目的编码格式为utf-8,在pom文件中增加如下配置:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
3.执行maven命令archetype:create-from-project将当前项目转换成原型项目.target目录下的generated-sources目录下即为生成原型项目的代码.

4.编辑原型项目的pom文件,添加编码格式和发布的nexus地址:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<name>Snapshots</name>
<url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>releases</id>
<name>Releases</name>
<url>http://localhost:8081/nexus/content/repositories/releases/</url>
</repository>
</distributionManagement>
5.执行maven命令deploy将原型项目发布到nexus仓库.
6.eclipse中点选Window---Preferences---maven---Archetypes,点选Add Remote Catalog,输入nexus中的地址并取一个描述名字.nexus的地址形如:
http://localhost:8081/nexus/content/groups/public/archetype-catalog.xml ,为archetype-catalog.xml文件的地址.

7.创建一个maven项目,当选择Catalog时,选择我们刚刚起的描述名,如果为snapshot项目,还要选上下方的include snapshot archetype.如图:

8.输入新项目的Artifact,groupId等等基础信息.到此我们就利用模板快速的生成了一个新的maven项目.
记性好的可能要问了:为何要utf-8编码,为何要复杂名字?
答:1)我使用gbk后生成的模板项目,以此生成的新项目都是乱码,尝试各种指定编码未果,有高手有雅兴的试验出方案还请不吝指教.所以不想费时出岔子直接utf-8编码.
2)至于名字为何非得复杂,这个主要是新项目按照模板项目生成pom文件,模板中的原Artifact名会自动替换成新的名字,这样问题来了,这个只是个字符串的全替换,所以如果出现Artifact与依赖中的某些字符串相同,那么生成新项目的时候会将这些依赖的名字也给替换掉.所以为了少麻烦,用一些不容易重复的名字比较好.
maven archetype生成自定义项目原型(模板)的更多相关文章
- 老大说新项目的结构和 xxx 项目一样就可以了,我 ……(使用 Maven Archetype 快速创建项目)
前言 又要开发新项目了,还是创建新项目,怎么办?老大说按照 xxx 项目的结构创建一个新项目就可以了. 公众号:liuzhihangs,记录工作学习中的技术.开发及源码笔记:时不时分享一些生活中的见闻 ...
- 使用Maven Archetype创建Java项目模板
1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...
- Jersey入门一:从Maven Archetype创建jersey项目
1.用Ctrl+空格调出Spotlight搜索,输入ter调出终端窗口  2.在终端窗口进入将创建jersey项目的目录:  3.输入如下命令,创建一个名为的simple-service项目: m ...
- Maven之自定义archetype生成项目骨架(一)
Maven之自定义archetype生成项目骨架(一) 标签: mavennexus插件 2015-07-15 16:40 2443人阅读 评论(0) 收藏 举报 分类: Maven技术(9) ...
- (转)Maven之自定义archetype生成项目骨架
背景:最近在开发一个项目的基础构件,在以后项目的开发过程中可以直接使用该构件快速的生成项目骨架进行开发. 摘要:使用过Maven的人都知道maven中有许多功能都是通过插件来提供的,今天我们来说一下其 ...
- Maven之自定义archetype生成项目骨架
Maven之自定义archetype生成项目骨架(一) http://blog.csdn.net/sxdtzhaoxinguo/article/details/46895013
- 自定义Maven Archetype模板
1. 目的 自定义Maven Archetype模板目的为了把自己辛苦搭建的基础项目可以作为模板, 方便以后可以快速的创建类似项目,免去每次搭建的麻烦 2.把基础项目打包生成archetype项目 在 ...
- 使用Maven Archetype插件构建Maven工程原型模板
创建原型模板 1.在空目录运行archetype:generate上面的命令,待下载完必要的jar包后,首先需要输入内置的原型编号: 1 Choose archetype: 2 1: internal ...
- Maven实战04_使用Archetype生成项目骨架
在上一章中的HelloWorld中,我们的项目遵循了一些Maven项目的约定 在项目的根目录中放置pom.xml 在src/main/java目录中放置项目的主代码 在src/test/java目录中 ...
随机推荐
- C# WebServices中处理XML方式
1.企业系统集成的时候,大量的字段是很麻烦处理的,用Format 的方式可快速处理 string sql = @"SELECT * FROM table WHERE TASKID='&quo ...
- 基于jQuery的自适应图片左右切换
效果预览:http://hovertree.com/code/jquery/smjv6d0n.htm 基于jQuery编写的横向自适应幻灯片切换特效 全屏自适应jquery焦点图切换特效,在IE6这个 ...
- C++_系列自学课程_第_4_课_string_《C++ Primer 第四版》
相信学习过计算机编程的人,基本应该都接触过C语言,在C语言中处理字符串大家一定多遇到过, 也都知道处理字符串非常麻烦,而在C++里面,由标准库string类提供对可变长的字符串的支持.下面 来看看st ...
- 从零开始学Python08作业源码:开发简单的FTP(仅供参考)
服务器端:server_server.py #!usr/bin/env python # -*- coding:utf-8 -*- # auther:Mr.chen # 描述: import sock ...
- Java动态代理全面分析
代理模式 解说:给某一个对象提供一个代理,并由代理对象控制对原对象的引用: 代理模式需要以下几个角色: 1 主题:规定代理类和真实对象共同对外暴露的接口: 2 代理类:专门代理真实对象的类: 3 ...
- ABP导航源码分析
按步骤看: 1,在Global.asax中执行: base.Application_Start(sender, e); 2,在AbpWebApplication类的Application_Start( ...
- Elasticsearch索引(company)_Centos下CURL增删改
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch索引说明 a. 通过上面几篇博客已经将Elastics ...
- javascript 模式(1)——代码复用
程序的开发离不开代码的复用,通过代码复用可以减少开发和维护成本,在谈及代码复用的时候,会首先想到继承性,但继承并不是解决代码复用的唯一方式,还有其他的复用模式比如对象组合.本节将会讲解多种继承模式以实 ...
- 初识JQuery
轻量级的js库 兼容各种浏览器+css3 传统:js+DHTM jq:解放了客户端的编程, 环境搭建 进入官方网站获取最新的版本 http://jquery.com/download/ ,这里需 ...
- arcgis软件集合
ArcGIS软件应有尽有,跨越各种不同的ArcGIS版本,包括ArcGIS10.3.ArcGIS10.2.2.ArcGIS10.1.ArcGIS10.0.ArcGIS9.3. 备注:更多的精彩内容请关 ...