質問

I have got a archetype-project with looks like this (with two modules, __artifactId__-1 and __artifactId__-2):

Parent
      pom.xml
      __artifactId__-1
            pom.xml
      __artifactId__-2
            pom.xml

and, when I generate a project using this archetype with artifact id say 'Infra', it should produce structure like this:

Parent
      pom.xml
      Infra-1
            pom.xml
      Infra-2
            pom.xml

which it does. So this does work.

What doesn't work is that in the parent pom.xml, I've included this modules as:

<modules>
      <module>__artifactId__-1</module>
      <module>__artifactId__-2</module>
</modules>

These modules entries don't get renamed to something like (on generation):

<modules>
      <module>Infra-1</module>
      <module>Infra-2</module>
</modules>

This is what I want.

Any idea how this can be done, thanks.

UPDATE I am adding the metadata xml file here as asked but I do not want to modify the archetype-metadata.xml file. As I want to create the archetype using the create-from-project command, then install and generate without any manual intervention or rework.

<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0 http://maven.apache.org/xsd/archetype-descriptor-1.0.0.xsd" name="archetype-1"
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <fileSets>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>__artifactId__-1/src</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>support</directory>
      <includes>
        <include>**/*.xml</include>
        <include>**/*.properties</include>
        <include>**/*.txt</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>properties/deploy</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>__artifactId__-2/target</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>__artifactId__-2/src</directory>
      <includes>
        <include>**/*.jsp</include>
        <include>**/*.java</include>
        <include>**/*.xml</include>
        <include>**/*.properties</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>properties</directory>
      <includes>
        <include>**/*.properties</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>__artifactId__-2</directory>
      <includes>
        <include>**/*.project</include>
        <include>**/*.xml</include>
        <include>**/*.classpath</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>__artifactId__-1</directory>
      <includes>
        <include>**/*.xml</include>
      </includes>
    </fileSet>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>support/lib</directory>
      <includes>
        <include>**/*.txt</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory>__artifactId__-2/.settings</directory>
      <includes>
        <include>**/*.prefs</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory>support</directory>
      <includes>
        <include>**/*.jar</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory>__artifactId__-2/src</directory>
      <includes>
        <include>**/*.jpg</include>
        <include>**/*.MF</include>
        <include>**/*.md</include>
        <include>**/*.png</include>
        <include>**/*.jar</include>
        <include>**/*.js</include>
        <include>**/*.ftl</include>
        <include>**/*.xsd</include>
        <include>**/*.XML</include>
        <include>**/*.TXT</include>
        <include>**/*.gif</include>
        <include>**/*.css</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory>__artifactId__-2</directory>
      <includes>
        <include>**/*.checkstyle</include>
        <include>**/*.pmd</include>
        <include>**/*.log</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory>support/bin</directory>
      <includes>
        <include>**/*.bat</include>
        <include>**/*.log</include>
      </includes>
    </fileSet>
    <fileSet encoding="UTF-8">
      <directory>support/lib</directory>
      <includes>
        <include>**/*.jar</include>
      </includes>
    </fileSet>
  </fileSets>
</archetype-descriptor>
役に立ちましたか?

解決

Fixed now.

In parent pom.xml, the module declaration was inside profiles.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top