我现在正在尝试创建一个使用spring + mybatis
框架的maven原型。有一个mybatis xml文件:src/main/resources/archetype-resources/src/main/resources/sql/myapp/DemoUser.xml
,并执行以下命令以使用此原型创建新项目。
mvn archetype:generate ... -DartifactId=foo.bar -Dpackage=com.foo.bar ...
我想将myapp
替换为bar
,即我想要sql/bar
文件夹中的mybatis xml文件,如何实现?
答案 0 :(得分:2)
我的方法是src/main/resources/META-INF/maven/archetype-metadata.xml
添加此属性
<requiredProperty key="appName">
<defaultValue>${appName}</defaultValue>
</requiredProperty>
然后在src/main/resources/archetype-resources/pom.xml
添加
#set ($artifactId = "${artifactId}")
#set ($index = $artifactId.indexOf('.'))
#set ($index = $index + 1)
#set ($appName = $artifactId.substring($index))
并记得将文件夹名称更改为
src/main/resources/archetype-resources/src/main/resources/sql/__appName__/DemoUser.xml
所以当你现在执行mvn archetype:generate ... -DartifactId=foo.bar ...
时,你可以得到
│ └── resources
│ └── sql
│ └── bar
│ └── DemoUser.xml
参考doc:http://maven.apache.org/archetype/archetype-models/archetype-descriptor/archetype-descriptor.html