Как создать пустые папки с архетипом знатока?

Существует существующая проблема для этого подхода, расположенного на Codehaus JIRA #ARCHETYPE-57, но все инструкции, перечисленные в этом билете, отказавшем для меня. Также сообщение в блоге marekdec, Как заставить архетип знатока генерировать пустые сбои каталогов для меня.

Прием в archetype.xml с запаздыванием /не делает работ для меня:


  src/main/webapp/

Unable to find resource 'archetype-resources/src/main/webapp/'

Также fileSet каталог в archetype-metadata.xml не работает на меня:


 src/main/webapp/

Я использую следующий плагин архетипа знатока для создания моего пользовательского архетипа.

mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-5:create

Есть ли какое-либо другое решение? Или я пропускал что-то?Спасибо

17
задан Jean-Rémy Revy 20 September 2012 в 08:49
поделиться

1 ответ

Я провел быстрый тест и ... у меня это сработало. Сначала я создал архетип:

$ mvn archetype:generate -B -DarchetypeArtifactId=maven-archetype-archetype \
                            -DgroupId=com.stackoverflow \
                            -DartifactId=Q2786966 \
                            -Dversion=1.0-SNAPSHOT \

Я переименовал archetype.xml в archetype-metadata.xml (первый для Archetype 1.0.X, последний для Archetype 2.0 .X), поэтому проект выглядит так:

$ tree .
.
├── pom.xml
└── src
    └── main
        └── resources
            ├── archetype-resources
            │   ├── pom.xml
            │   └── src
            │       ├── main
            │       │   └── java
            │       │       └── App.java
            │       └── test
            │           └── java
            │               └── AppTest.java
            └── META-INF
                └── maven
                    └── archetype-metadata.xml

И archetype-metadata.xml содержит:

<?xml version="1.0" encoding="UTF-8"?>
<archetype-descriptor name="Q2786966">
  <fileSets>
    <fileSet filtered="true" encoding="UTF-8">
      <directory>src/main/webapp</directory>
    </fileSet>
    <fileSet filtered="true" packaged="true">
      <directory>src/main/java</directory>
      <includes>
        <include>**/*.java</include>
      </includes>
    </fileSet>
  </fileSets>
</archetype-descriptor>

Затем я установил архетип и использовал его для создания проекта:

$ mvn install
$ cd ~/tmp
$ mvn archetype:generate -B -DarchetypeGroupId=com.stackoverflow \
                            -DarchetypeArtifactId=Q2786966 \
                            -DarchetypeVersion=1.0-SNAPSHOT \
                            -DgroupId=my.group \
                            -DartifactId=my-artifact \
                            -Dversion=1.0-SNAPSHOT

И получившийся проект выглядит вот так:

$ tree my-artifact/
my-artifact/
├── pom.xml
└── src
    └── main
        ├── java
        │   └── my-group
        │       └── App.java
        └── webapp

Здесь находится пустой каталог webapp.

21
ответ дан 30 November 2019 в 11:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: