Maven Archetype

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-domainwhereas 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.


展开阅读全文

没有更多推荐了,返回首页