渐统江湖的项目原型生成工具 -- Maven Archetype
?? 江湖上多的是功能华丽的项目原型/骨架生成工具,但最后,反而是功能简单的Maven Archetypes渐渐有了一统的希望。
???无它,先把自己收拾得简单易用,然后作为一个江湖大佬(maven)的"官方"小弟,再有另一些江湖大佬(appfuse,strust2,cxf)使用示范一下,就是现在的上位秘诀。
?? 和很多生成工具一样,Maven Archetypes?的功能就是从Velocity模板中替换变量,并根据package 名扩展一下java文件的目录结构而已。
?? Advanced Usage 讲解了一个完全的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中的How metadata on an archetype is stored?
1 楼 风向逆转 2008-06-19 这篇文章,楼主名字,咳,洗洗睡觉 2 楼 tedeyang 2008-06-25 属于江南白衣一贯的语言风格,习惯了。我关心的是这玩意儿与maven有啥区别,去看官方网站也。
3 楼 walle1027 2011-07-13 用了一下,的确方便。