¿Cómo puedo bloquear la versión de un complemento Maven que quiero usar?Cómo bloquear la versión del complemento maven
que tienen el plugin PMD configurado de este modo:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.5</version>
<configuration>
<outputDirectory>target/pmd</outputDirectory>
<targetDirectory>target/</targetDirectory>
<aggregate>true</aggregate>
<targetJdk>1.6</targetJdk>
<rulesets>
<ruleset>rulesets/basic.xml</ruleset>
<ruleset>rulesets/codesize.xml</ruleset>
<ruleset>rulesets/coupling.xml</ruleset>
<ruleset>rulesets/design.xml</ruleset>
<ruleset>rulesets/imports.xml</ruleset>
<ruleset>rulesets/logging-java.xml</ruleset>
<ruleset>rulesets/optimizations.xml</ruleset>
<ruleset>rulesets/strings.xml</ruleset>
<ruleset>rulesets/unusedcode.xml</ruleset>
</rulesets>
</configuration>
</plugin>
Anoche, mi nightly build falló y ya no puede ejecutar ninguna meta PMD, ya que está tratando de encontrar la versión 2.6-instantánea de ese plugin. ¿Por qué está tratando de encontrar 2.6-SNAPSHOT si tengo una etiqueta de versión que dice 2.5? Además, 2.6-SNAPSHOT no está en el centro, ¿por qué mi cliente experto cree que existe? Versión
Maven: Versión 2.0.9
Java: 1.6.0_17
nombre del sistema operativo: "Linux" versión: Arco "2.6.24-24-generic": "i386" Familia: "Unix"
Editar:
Actualicé a maven 2.2.1 y observé el mismo problema que antes. Pude conseguir que el proyecto fuera compilado eliminando 2.6-SNAPSHOT de los metadatos en mi repositorio (.m2/repository/org/apache/maven/plugins/maven-pmd-plugin/maven-metadata-central.xml). También configuré la última etiqueta de Version en 2.5. Obviamente, esta no es la solución, porque tendré que implementar mi propio complemento o cambiar la versión almacenada en caché en todos los clientes.
Parece un error de Maven. La etiqueta "versión" existe especialmente para corregir la versión del complemento y para garantizar que su compilación sea reproducible, incluso cuando hay una nueva versión del complemento. –
Ha intentado esto con una de las versiones más nuevas de Maven, están en 2.2.1 en este momento. Si está arreglado allí, entonces es un error en maven. – Goibniu
La actualización no pareció ayudar (ver la edición anterior) – Greg