Maven原型未替换模块目录名

时间:2016-08-31 20:13:52

标签: maven maven-archetype

我创建了一个多模块项目的原型,我的目的是用必需的属性__implementation__替换目录名。结果是,__rootArtifactId__被替换,但__impelementation__不是。

原型-metadata.xml中:

<module id="${rootArtifactId}-${implementation}-impl" dir="__rootArtifactId__-__implementation__-impl" name="${rootArtifactId}-${implementation}-impl">
  <fileSets>
    <fileSet filtered="true" packaged="true" encoding="UTF-8">
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.java</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory></directory>
      <includes>
        <include>pom.xml</include>
      </includes>
    </fileSet>
  </fileSets>
</module>

属性:

artifactId=basic
implementation=foo

生成的目录: basic-__implementationName__-impl

替换发生在pom.xml和* .java中,但是目录存在问题

有没有办法让原型使用目录名称属性?

1 个答案:

答案 0 :(得分:1)

对于这个问题,我做了以下几点:

  1. 通过git克隆maven-archetype源代码

    new Thread(conn).start()
    while (true) {
        //note the lack of sending messages in here
        val rxMsg = conn.getMsg(server)
        val parser = new JsonParser(rxMsg)
        val formattedMsg = parser.formatMsg(parser.toJson()) 
        println(formattedMsg)
        msgAcc = msgAcc + formattedMsg + "\n" 
    }
    
  2. 执行此处提及的修改ARCHETYPE-455

  3. 在maven-archetype项目上执行maven安装(某些单元测试不起作用)

    git clone --branch maven-archetype-2.4 https://git-wip-us.apache.org/repos/asf/maven-archetype.git
    
  4. 然后,正确替换目录名称。