江湖上多的是功能华丽的项目原型/骨架生成工具,但最后,反而是功能简单的渐渐有了一统的希望。
无它,先把自己收拾得简单易用,然后作为一个江湖大佬(maven)的"官方"小弟,再有另一些江湖大佬(appfuse,strust2,cxf)使用示范一下,就是现在的上位秘诀。
和很多生成工具一样, 的功能就是从velocity模板中替换变量,并根据package 名扩展一下java文件的目录结构而已。
讲解了一个完全的maven archetype周期:
- mvn archetype:create-from-project 先从一个已有的项目生成archetype模板到 target/generated-sources/archetype。
这还是需要程序自己有点小聪明的,要找准package name和变量,将变量转为符号,将目录结构收缩。
- 进到目录中,mvn install 将archetype模板安装到本地maven仓库里。
- 在新的目录中,mvn archetype:generate -darchetypecatalog=local ,交互式的输入项目名,package名等变量,即生成项目。
这里,2.0 alpha3版比原来的1.0 alpha7改进良多,一是有了从已有项目爬出模板来的命令,二是生成项目时有了交互式的输入,三是控制文件的改进(支持ant语法批量定义等)。
新的控制文件见meta-inf/maven/archetype-metadata.xml ,原来1.0版的文件已经作废。
控制文件可以新增自己的变量,控制目录是否需要velocity替换变量,是否需要根据package名扩展目录树。
详见faq中的