背景:最近在开发一个项目的基础构件,在以后项目的开发过程中可以直接使用该构件快速的生成项目骨架进行开发。

摘要:使用过Maven的人都知道maven中有许多功能都是通过插件来提供的,今天我们来说一下其中的一个插件:maven-archetype-plugin

,通过该插件可以自定义符合我们自己需求的archetype。

一:什么是Archetype

总之,原型是一个Maven项目模板工具包,也就是一个模板工程。

二:使用archetype创建项目

mvn archetype:generate

上面的命令执行后会输出很多maven官方提供的archetype,但是这些archetype生成的项目骨架都不能够满足我们的需求,所以这就需要我们自己开发一个archetype来满足我们自己的开发需求,下面我把我自己自定义这个archetype的过程记录一下方便日后回忆。

三:创建自定义的archetype项目

1.首先使用sts(spring的一款开发工具,下载地址到spring官网)创建一个maven project,然后把配置好的一些公用的东西放到相应的目录下面比如说会将一些常用的java代码存放到src/main/java目录下面;会将一些通用的配置文件放到src/main/resources目录下面;如果是javeEE工程,还会有一些jsp等等的文件存放到src/main/webapp目录下面,如下图所示:

2.然后在创建的maven project的pom.xml文件中添加archetype插件,如下面所示:

<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>  <parent>  <groupId>org.micaicms</groupId>  <artifactId>micaicms-pom</artifactId>  <version>1.0</version>  </parent>  <artifactId>micaicms-web-archetype</artifactId>  <packaging>jar</packaging>  <name>micaicms web archetype</name>  <description>micaicms-web-archetype</description>  <distributionManagement>  <repository>  <id>releases</id>  <name>Micaicms Releases</name>  <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>  </repository>  <snapshotRepository>  <id>snapshots</id>  <name>Micaicms Releases</name>  <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url>  </snapshotRepository>  </distributionManagement>  <build>  <pluginManagement>  <plugins>  <plugin>  <groupId>org.apache.maven.plugins</groupId>  <artifactId>maven-archetype-plugin</artifactId>  <version>2.2</version>  </plugin>  <plugin>  <groupId>org.apache.maven.plugins</groupId>  <artifactId>maven-compiler-plugin</artifactId>  <configuration>  <source>1.5</source>  <target>1.5</target>  </configuration>  </plugin>  <plugin>  <groupId>org.apache.maven.plugins</groupId>  <artifactId>maven-resources-plugin</artifactId>  <configuration>  <encoding>UTF-8</encoding>  </configuration>  </plugin>  </plugins>  </pluginManagement>  </build>  </project>  

3.运行你自己配置好的自定义的archetype项目

先执行

mvn clean install

安装该archetype项目到你的本地仓库

发布该archetype项目到你的本地私服(nexus)
ps:这里如果你需要发布这个archetype到你的本地私服上去,那么需要在maven里面配置权限,主要是maven里面的settings.xml文件,我
的settings.xml文件配置如下,配置好以后就可以执行发布命令了

再执行

mvn deploy

4.查看你刚才发布到nexus私服上去的archetype,如下图:

四:在eclipse/sts开发工具中配置你发布到私服上的自定义的archetype

1.打开你的开发工具,eclipse或者sts,我这里是sts

2.选择Window->Preferences->Maven->Archetypes

3.点击Add Remote Catalog,输入你的nexus私服中archetype的地址,我这里是
http://127.0.0.1:8081/nexus/content/groups/public/archetype-catalog.xml
输入Description,随便输入都可以,我这里是micaicms-web-archetype

4.点击Ok,点击Apply

5.重新启动你的开发工具eclipse或者sts

五:使用自定义的archetype生成自定义的项目骨架

1.选择New->Maven Project->Next

2.选择你配置好的archetype,如下图:

3.输入对应的groupId,artifactId,package,如下图:
因为我已经新建过该项目了,所以我这里不能点击Finish,你们的应该可以

4.最后生成的项目骨架如下图:

5.修改数据库配置文件,导入初始化sql脚本,如下图:

6.部署项目到tomcat下面访问即可,默认的访问路径为:ht:tp://localhost:8080/micaicms-ssmb/project/list

六:Maven的自定义archetype源码工程下载地址:

https://github.com/sxdtzhaoxinguo/micaicms-web-archetype

七:Maven的自定义archetype生成的基础项目骨架工程的下载地址:

https://github.com/sxdtzhaoxinguo/micaicms-ssmb

转载于:https://www.cnblogs.com/lixuwu/p/8064739.html

(转)Maven之自定义archetype生成项目骨架相关推荐

  1. Maven之自定义archetype生成项目骨架(一)

    摘要:使用过Maven的人都知道maven中有许多功能都是通过插件来提供的,今天我们来说一下其中的一个插件:maven-archetype-plugin ,通过该插件可以自定义符合我们自己需求的arc ...

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

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

  3. 架构师必备技能:Maven Archetype生成项目模板

    基本每个公司的项目都有一套模板,只要开新项目直接复制一份改改包名和一些配置就初始化了一个新项目.这种方式有点繁琐,有没有通过命令甚至是可视化的方式从一个模板项目初始化项目.Maven其实有提供这种能力 ...

  4. 使用Maven命令行快速创建项目骨架(archetype)

    > mvn archetype:generate 接下来就会输出一些列带索引变化的archetype项可供我们选择,然后提示我们选择一个编号,可以直接回车选择默认的编号(392),然后就跟着一步 ...

  5. maven生成项目骨架时报错ResourceManager : unable to find res

    生成骨架时生成archetype.xml脚本 问题描述:没有方法通过*号批量匹配文件 [INFO] -------------------------------------------------- ...

  6. Maven高级之archetype(原型/骨架)开发

    前言 archetype这个的主要功能就是将写好的项目模块打包成一个原型,然后提供给其他人使用,这样别人就可以快速使用这个项目模板了. 这个东西虽然很多人都基本用不上,但原型这个东西用的好还是很方便的 ...

  7. 【Maven实战】之生成项目站点

    2019独角兽企业重金招聘Python工程师标准>>> 最简单的站点 通过[maven-site-plugin]生成 Pom配置 Maven3: <pluginManageme ...

  8. 自定义vue-cli生成项目模板配置(1)

    最近在读<变量>,目前得到的认知之一:慢变量才是决定事物长期发展的因素. 打算自定义vue-cli的脚手架或者根据自己的需要设置项目模板的相关参数,很大程度与慢变量这个概念相关. 当然,我 ...

  9. maven自定义脚手架(快速生成项目)

    Maven之自定义archetype生成项目骨架 利用脚手架生成 新项目 命令行方式 mvn archetype:generate \ -DarchetypeGroupId=com.xxx \ -Da ...

最新文章

  1. 【Flask】Jinja2之模板中使用url_for
  2. JS时间戳格式化日期时间
  3. 【IPC通信】匿名管道
  4. C语言课后习题(20)
  5. 带你了解Python炫酷的颜色输出与进度条打印
  6. cas单点登录-https的配置(一)
  7. springmvc最简单的搭建,初学者必看
  8. 从DLL导出LIB文件
  9. matlab 另存为excel_将matlab数据保存为excel文件
  10. 了解单反相机的自动对焦点
  11. STM32-DMA控制器
  12. 平均增长率不用计算机,官方数据:平均增长率计算公式如何使用excel计算平均增长率...
  13. 看完你就知道交换机端口该搭配什么光模块了
  14. java自学笔记(4)-Stanford CS106A 弹球动画 20.9.9
  15. 开源软件 介绍及地址
  16. mysql failover_MySQL 8.0.22 新特性Async Replication Auto failover
  17. 二值化及伽马调整的函数
  18. xcopy 跳过已经存在的_虚拟网红卖真衣服,真实人类已经开始买“假”衣服了!...
  19. Handler execution resulted in exception: Content type 'application/json;charset=UTF-8' not supported
  20. Android生态系统分裂剖析 开放性系统带来的影响

热门文章

  1. 在c语言中什么意思,\c在C语言中是什么意思?
  2. mysql sort aborted_mysql排序中断(Sort aborted)-mysql临时文件无法写入
  3. nginx loaction
  4. python全栈工程_Python全栈工程师(编码)
  5. python替换字符的操作_Python 字符串操作(string替换、删除、截取、复制、)
  6. python网络爬虫文献综述_python网络爬虫综述
  7. 计算机组装与维修案例分析,计算机组装毕业论文
  8. idea怎么创建python项目_idea创建django项目
  9. ubuntu查看默认python版本_ubuntu中修改默认Python版本号
  10. java高并发(五)并发模拟