Плагин Maven archetype не позволяет .resources в архетипических ресурсах через
Кто-нибудь знает, как я могу сделать ресурсы, такие как .gitignore частью результирующего проекта?
- создать архетип с архетипом-ресурсами/.gitignore
- mvn install
- mvn archatype: generate
- результирующий проект не содержит .gitignore
PS. Я уверен, что его там нет.
Ответы
Ответ 1
Это решение для предстоящего maven-resources-plugin v3.0.0 (еще не выпущенного во время публикации этого сообщения, ток по-прежнему равен 2.7) от https://issues.apache.org/jira/browse/MRESOURCES-190 кажется лучше, чем сдерживать обновление версии:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<!-- Required so that .gitignore gets included in archetypes; see https://issues.apache.org/jira/browse/MRESOURCES-190 -->
<addDefaultExcludes>false</addDefaultExcludes>
Ответ 2
Добавьте запись fileSet
в src/main/resources/META-INF/maven/archetype-metadata.xml
с пустым тегом каталога:
<fileSet>
<directory></directory>
<includes>
<include>.gitignore</include>
</includes>
</fileSet>
Это скопирует включенные файлы из src/main/resources/archetype-resources
в корневой каталог проекта.
Ответ 3
Проверьте версию maven-resources-plugin, запустив сборку Maven при отладке (с опцией -X). Если вы используете 2.7, существует регрессия, где .gitignore файлы молча игнорируются.
В этом случае вам придется явно использовать 2.6 в вашем pom.xml:
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
</plugins>
</pluginManagement>
</build>
Ответ 4
Альтернативой для понижения рейтинга maven-resources-plugin
является принудительное исполнение версии plexus-utils
, которая фактически имеет регрессию:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<dependencies>
<!-- it for fixing maven-resources-plugin 2.7 MRESOURCES-190 -->
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<!-- this is last 2.x release -->
<version>2.1</version>
</dependency>
</dependencies>
</plugin>
Ответ 5
ошибка все еще находится в новейшей версии maven-archetype-plugin 2.4 и maven-resources-plugin 3.0.1.
вот решение:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-archetype-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>
и в вашем генерировать pom.xml вы должны добавить
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
</plugin>