2011-07-16 4 views
5

私は、マルチモジュールプロジェクトからarchetype:create-from-projectを使ってアーキタイプを作成しました。マルチモジュールプロジェクトからariftypeを作成するには、artifactIdに基づいたディレクトリを使用しますか?

archetype-metadata.xmlは以下のようなものですが、mvn archetype:generateを実行したときに "dir"を変更できることは、archetypeIdを使用して固定ディレクターを使用する代わりに提供できることです。それはできますか?

<?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="service-parent" 
    xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <modules> 
    <module id="service-def" dir="service-def" name="service-def"> 
     <fileSets> 
     <fileSet filtered="true" packaged="true" encoding="UTF-8"> 
      <directory>src/main/java</directory> 
      <includes> 
      <include>**/*.java</include> 
      </includes> 
     </fileSet> 
     </fileSets> 
    </module> 
    <module id="service" dir="service" name="service"> 
     <fileSets> 
     <fileSet filtered="true" packaged="true" encoding="UTF-8"> 
      <directory>src/main/java</directory> 
      <includes> 
      <include>**/*.java</include> 
      </includes> 
     </fileSet> 
     <fileSet filtered="true" packaged="true" encoding="UTF-8"> 
      <directory>src/test/java</directory> 
      <includes> 
      <include>**/*.java</include> 
      </includes> 
     </fileSet> 
     <fileSet filtered="true" encoding="UTF-8"> 
      <directory>src/test/resources</directory> 
      <includes> 
      <include>**/*.xml</include> 
      <include>**/*.properties</include> 
      </includes> 
     </fileSet> 
     <fileSet encoding="UTF-8"> 
      <directory>src/test/resources</directory> 
      <includes> 
      <include>**/*.sql</include> 
      <include>**/*.dtd</include> 
      </includes> 
     </fileSet> 
     </fileSets> 
    </module> 
    <module id="service-web" dir="service-web" name="service-web"> 
     <fileSets> 
     <fileSet filtered="true" encoding="UTF-8"> 
      <directory>src/main/webapp</directory> 
      <includes> 
      <include>**/*.xml</include> 
      </includes> 
     </fileSet> 
     <fileSet filtered="true" encoding="UTF-8"> 
      <directory>src/main/resources</directory> 
      <includes> 
      <include>**/*.xml</include> 
      </includes> 
     </fileSet> 
     </fileSets> 
    </module> 
    </modules> 
</archetype-descriptor> 

これは原型の構造である:あなたのようなrootArtifactIdプレースホルダを使用する必要が

├── pom.xml 
└── src 
    ├── main 
    │   └── resources 
    │    ├── archetype-resources 
    │    │   ├── pom.xml 
    │    │   ├── service 
    │    │   │   ├── pom.xml 
    │    │   │   └── src 
    │    │   │    ├── main 
    │    │   │    │   └── java 
    │    │   │    └── test 
    │    │   │     ├── java 
    │    │   │     └── resources 
    │    │   ├── service-def 
    │    │   │   ├── pom.xml 
    │    │   │   └── src 
    │    │   │    └── main 
    │    │   │     └── java 
    │    │   └── service-web 
    │    │    ├── pom.xml 
    │    │    └── src 
    │    │     └── main 
    │    │      ├── resources 
    │    │      │   ├── dao-context.xml 
    │    │      │   ├── hibernate.cfg.xml 
    │    │      │   └── single-context.xml 
    │    │      └── webapp 
    │    │       └── WEB-INF 
    │    │        ├── jboss-web.xml 
    │    │        ├── remoting-servlet.xml 
    │    │        └── web.xml 
    │    └── META-INF 
    │     └── maven 
    │      └── archetype-metadata.xml 
    └── test 
     └── resources 
      └── projects 
       └── basic 
        ├── archetype.properties 
        └── goal.txt 

答えて

11

<?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="service-parent" 
xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype-descriptor/1.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<modules> 
    <module id="${rootArtifactId}-def" dir="__rootArtifactId__-def" name="${rootArtifactId}-def"> 
    <fileSets> 
     <fileSet filtered="true" packaged="true" encoding="UTF-8"> 
     <directory>src/main/java</directory> 
     <includes> 
      <include>**/*.java</include> 
     </includes> 
     </fileSet> 
    </fileSets> 
    </module> 
    <module id="${rootArtifactId}" dir="__rootArtifactId__" name="${rootArtifactId}"> 
    <fileSets> 
     <fileSet filtered="true" packaged="true" encoding="UTF-8"> 
     <directory>src/main/java</directory> 
     <includes> 
     <include>**/*.java</include> 
     </includes> 
    </fileSet> 
    <fileSet filtered="true" packaged="true" encoding="UTF-8"> 
     <directory>src/test/java</directory> 
     <includes> 
     <include>**/*.java</include> 
     </includes> 
    </fileSet> 
    <fileSet filtered="true" encoding="UTF-8"> 
     <directory>src/test/resources</directory> 
     <includes> 
     <include>**/*.xml</include> 
     <include>**/*.properties</include> 
     </includes> 
    </fileSet> 
    <fileSet encoding="UTF-8"> 
     <directory>src/test/resources</directory> 
     <includes> 
      <include>**/*.sql</include> 
      <include>**/*.dtd</include> 
     </includes> 
     </fileSet> 
    </fileSets> 
    </module> 
    <module id="${rootArtifactId}-web" dir="__rootArtifactId__-web" name="${rootArtifactId}-web"> 
    <fileSets> 
     <fileSet filtered="true" encoding="UTF-8"> 
     <directory>src/main/webapp</directory> 
     <includes> 
      <include>**/*.xml</include> 
     </includes> 
     </fileSet> 
     <fileSet filtered="true" encoding="UTF-8"> 
     <directory>src/main/resources</directory> 
      <includes> 
      <include>**/*.xml</include> 
     </includes> 
     </fileSet> 
    </fileSets> 
    </module> 
</modules> 

は、使用して、モジュールのフォルダの名前を変更しますプレフィックス__rootArtifactId__。

あなたが感謝多く、働いていたこと、http://code.google.com/p/open-archetypes/source/browse/multi-javaee5-archetype/src/main/resources/META-INF/maven/archetype-metadata.xml

+0

1に、このような原型の例を見ることができます – Puce

関連する問題