【问题标题】:create new project using maven archetype how to specify custom folder name使用 Maven 原型创建新项目如何指定自定义文件夹名称
【发布时间】:2016-07-13 02:45:28
【问题描述】:

我现在正在尝试创建一个使用 spring + mybatis 框架的 maven 原型。有一个mybatis xml文件:src/main/resources/archetype-resources/src/main/resources/sql/myapp/DemoUser.xml,执行下面的命令,使用这个archetype创建新项目。

 mvn archetype:generate ... -DartifactId=foo.bar -Dpackage=com.foo.bar ...

我想把myapp替换成bar,也就是sql/bar文件夹下的mybatis xml文件,这个怎么实现呢?

【问题讨论】:

    标签: maven maven-archetype


    【解决方案1】:

    我的方式是在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
    

    参考文档:http://maven.apache.org/archetype/archetype-models/archetype-descriptor/archetype-descriptor.html

    【讨论】:

    • 我必须在 pom.xml 的哪个位置添加这些行?它似乎不适合任何地方。
    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 2016-04-11
    • 1970-01-01
    • 2022-11-30
    相关资源
    最近更新 更多