tutorial que pom mvn español crear arquetipo archetype maven-3 maven-archetype

maven-3 - mvn - pom.xml que es



El complemento de arquetipo de Maven no permite.resources en recursos de arquetipo a través de (6)

¿Alguien sabe cómo puedo hacer que recursos como .gitignore sean parte del proyecto resultante?

  1. crear arquetipo con arquetipo-recursos / .gitignore
  2. instalar mvn
  3. mvn archatype: generar
  4. el proyecto resultante no contiene .gitignore

PD. Estoy seguro de que no está allí.


Agregue una entrada fileSet a src/main/resources/META-INF/maven/archetype-metadata.xml con una etiqueta de directorio vacía:

<fileSet> <directory></directory> <includes> <include>.gitignore</include> </includes> </fileSet>

Esto copiará los archivos incluidos de src/main/resources/archetype-resources al directorio raíz del proyecto.


El error parece estar todavía presente en el v3.0.1 de maven-archetype-plugin. Para aquellos que no quieren degradar el plugin de recursos de maven. Me las arreglé para establecer una solución más o menos fea.

Primero, cambia el nombre del archetype-resources / .gitignore a

__gitignore__

luego dentro del archetype-metadata.xml agregar

<requiredProperties> <requiredProperty key="gitignore"> <defaultValue>.gitignore</defaultValue> </requiredProperty> </requiredProperties> <fileSets> <fileSet> <directory></directory> <includes> <include>__gitignore__</include> </includes> </fileSet> </fileSets>

Cuando se genere el arquetipo, primero copiará __gitignore__ luego __gitignore__ la __gitignore__ __[file]__ y lo reemplazará con el valor predeterminado ".gitignore".


Esta solución para el próximo maven-resources-plugin v3.0.0 (que aún no se lanzó al momento de publicar esto; actualmente es 2.7) desde https://issues.apache.org/jira/browse/MRESOURCES-190 parece mejor que mantener Volver versiones de la versión:

<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>


La alternativa para degradar el maven-resources-plugin es imponer la versión plexus-utils que en realidad tiene una regresión:

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.7</version> <dependencies> <!-- it''s 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>


Verifique su versión de plugin de recursos de maven iniciando la compilación de Maven en la depuración (con la opción -X). Si usa 2.7, hay una regresión donde los archivos .gitignore se ignoran silenciosamente .

En este caso, tendrá que usar explícitamente 2.6 en su pom.xml:

<build> <pluginManagement> <plugins> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> </plugin> </plugins> </pluginManagement> </build>


el error aún se encuentra en el nuevo plugin de arvenipo 2.4 de maven y en el plugin de recursos de maven 3.0.1.

Aquí está la solución:

<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>

y en tu generar pom.xml debes agregar

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> </plugin>