maven自定义archetype,实现ssm集成后的archetype

坦白来讲,如果我看到有人还在热心于ssm是如何集成的,我觉得他一定是年纪不小了。那为啥我还要干这件事情呢?主要是想实践下maven的archetype如何制造。本以为应该很简单,但是国内的博客不给力,写的不清晰而且maven的文档实在伤人。所以折腾出来了就想出来说两句,让后来者能够省点心力。

成品请见github,欢迎star,水平有限,见笑。

maven的archetype是啥呢?就是按照一个模板来生成项目,啪一下就能够弄出一个目录结构和配置文件。阅读各种文章过程中,发觉archetype是基于velocity实现的。也就是说,使用archetype来创建项目的过程实际上就是一个复制文件夹,复制目录,替换文件中的变量(就是velocity的变量${var}形式的)。这样想来,archetype并没有什么神奇的。一项技术你感觉神奇的时候,最容易用上它,当你再感觉不神奇了,就是开始明白它了。

来说说具体做法,我没有用mvn archetype:create-from-project主要是尝试了几遍都失败了,而且不知道怎么下手。索性手动来了。

大致步骤:
1. mvn archetype:generate -DarchetypeCatalog=internal 选择 maven-archetype-archetype 创建一个archetype项目
2. 将需要生成的文件和代码放置到src\main\resources\archetype-resources
3. 在src\main\resources\META-INF\maven下增加一个archetype-metadata.xml删除archetype.xml。根据你的实际情况修改archetype-metadata.xml
4. 修改各种变量,以适应生成的需要
5. 其他配置
6. 测试

下面来详解

生成archetype项目

见以下内容,GAV请自定义

mvn archetype:generate -DarchetypeCatalog=internal

[INFO] Scanning for projects…
[INFO]
[INFO] ————————————————————————
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ————————————————————————
[INFO]
[INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] — maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom —
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: internal -> org.apache.maven.archetypes:maven-archetype-archetype (An archetype which contains a sample archetype.)
2: internal -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.)
3: internal -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)
4: internal -> org.apache.maven.archetypes:maven-archetype-plugin-site (An archetype which contains a sample Maven plugin site.
This archetype can be layered upon an existing Maven plugin project.)
5: internal -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268 Portlet.)
6: internal -> org.apache.maven.archetypes:maven-archetype-profiles ()
7: internal -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
8: internal -> org.apache.maven.archetypes:maven-archetype-site (An archetype which contains a sample Maven site which demonstrates
some of the supported document types like APT, XDoc, and FML and demonstrates how
to i18n your site. This archetype can be layered upon an existing Maven project.)
9: internal -> org.apache.maven.archetypes:maven-archetype-site-simple (An archetype which contains a sample Maven site.)
10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7: 1

Define value for property ‘groupId’: : test

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值