1. 从project创建archetype
在项目根目录下,运行
mvn archetype:create-from-project
创建的archetype工程在 app_folder/target/generated-sources/archetype 目录下,其中archetype-resources包含用来创建原型项目的文件,META-INF/maven/archetype-metadata.xml 是用来对文件结构进行详细描述的源文件。
2. Archetype的一些built-in参数
Variable | Meaning |
---|---|
__rootArtifactId__ | 做文件夹名替换用,例如__rootArtifactId__-dal |
${rootArtifactId} | Already explained above, it holds the value entered by the user as the project name (the value that maven ask as the artifactId: in the prompt when the user runs the archetype) |
${artifactId} |
If your project is composed by one module, this variable will have the same value as ${rootArtifactId} , but if the project contains several modules, this variable will be replaced by the module name inside every module folder, for example: given a module named portlet-domain inside a project namedportlet , all the files inside this module folder that are to be filtered will have the value of the variable ${artifactId} replaced by portlet-domain whereas the ${rootArtifactId} variable will be replaced by portlet |
${package} |
The user provided package for the project, also prompted by maven when the user runs the archetype |
${packageInPathFormat} |
The same value as ${package} variable but replacing '.' with the character'/' , e.g:, for the package com.foo.bar this variable is com/foo/bar |
${groupId} |
The user supplied groupId for the project, prompted by maven when the user runs the archetype |
${version} |
The user supplied version for the project, prompted by maven when the user runs the archetype |
The
archetype-metadata.xml
stored in the archetype-resources/META-INF/maven folder after the project is created, is where you need to tweak what you want generated and how.
- id – This is the name of the module that will be generated.
- dir – the template dir
- name – the artifact Id that will be put in the pom file.