2010-05-20 11 views
28

Genero ejemplo de inicio rápido predeterminado de Maven y tipo mvn checkstyle:checkstyle, siempre trato de usar la última versión de SNAPSHOT. Probablemente esté mal en mi servidor Nexus, pero ¿cómo puedo configurar la versión del complemento en la línea de comando en Maven 2, como 2.5 para el estilo de control en lugar de 2.6-SNAPSHOT?Establecer la versión del complemento en la línea de comandos en Maven 2

C:\HelloWorld>mvn checkstyle:checkstyle 
[INFO] Scanning for projects... 
[INFO] Searching repository for plugin with prefix: 'checkstyle'. 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Error building POM (may not be this project's POM). 

Project ID: org.apache.maven.plugins:maven-checkstyle-plugin 

Reason: Error getting POM for 'org.apache.maven.plugins:maven-checkstyle-plugin' from the repository: Failed to resolve artifact, possibly due to a repository list that is not appropriately equipped for this artifact's metadata. 
    org.apache.maven.plugins:maven-checkstyle-plugin:pom:2.6-SNAPSHOT 

from the specified remote repositories: 
    nexus (http://localhost:9081/nexus/content/groups/public) 

for project org.apache.maven.plugins:maven-checkstyle-plugin 

supongo que podría ser mvn checkstyle:2.5:checkstyle, por desgracia no lo es.

Seguramente si configuro la dependencia de compilación en pom.xml, funcionará, pero quiero ver cómo funciona la línea de comandos.

+0

Si escribo en el artefacto completo, funciona org.apache.maven.plugins MVN: maven-Checkstyle-plugin: 2.5 : checkstyle –

Respuesta

53

Si no desea ejecutar la última versión de un complemento instalado en su repositorio local, debe configurar el número de versión. Y para ello, es necesario especificar un objetivo totalmente calificado en forma de:

mvn groupID:artifactID:version:goal 

Así, en su caso:

mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.5:checkstyle 
+0

"_run la última versión de un complemento instalado en su repositorio local_" no parece ser cierto. Tengo 'maven-dependency-plugin'' 2.8',' 2.10' y '3.0.0' en mi repositorio local y Maven ejecuta' 2.8' de forma predeterminada. Incluso si elimino '2.8' Maven vuelve a descargarlo en la próxima ejecución. –

0

También puede utilizar:

mvn { your groupId}: {your artifactId}: {su versión}: {su objetivo}

0

Mi experiencia con una nueva versión de maven (3.3. 9) es ligeramente diferente. Si no estoy ejecutando maven en modo fuera de línea, SIEMPRE iré a un repositorio remoto independientemente de lo que tenga en el local. Y si encuentra una versión más nueva (basada en maven-metadata.xml), descargará y usará esa. Lo que es más, se explorará múltiples repositorios de forma simultánea:

[INFO] ------------------------------------------------------------------------ 
[DEBUG] Resolving plugin version for com.phoenixnap.oss:springmvc-raml-plugin 
[DEBUG] Could not find metadata com.phoenixnap.oss:springmvc-raml-plugin/maven-metadata.xml in local (/home/yuranos/.m2/repository) 
[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://repo.spring.io/libs-milestone 
[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://repo.spring.io/milestone 
[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://repo.maven.apache.org/maven2 
[DEBUG] Using transporter WagonTransporter with priority -1.0 for https://repo.spring.io/snapshot 
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.spring.io/libs-milestone 
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.spring.io/milestone 
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.maven.apache.org/maven2 
[DEBUG] Using connector BasicRepositoryConnector with priority 0.0 for https://repo.spring.io/snapshot 
Downloading: https://repo.spring.io/libs-milestone/com/phoenixnap/oss/springmvc-raml-plugin/maven-metadata.xml 
Downloading: https://repo.spring.io/snapshot/com/phoenixnap/oss/springmvc-raml-plugin/maven-metadata.xml 
Downloading: https://repo.maven.apache.org/maven2/com/phoenixnap/oss/springmvc-raml-plugin/maven-metadata.xml 
Downloading: https://repo.spring.io/milestone/com/phoenixnap/oss/springmvc-raml-plugin/maven-metadata.xml 
[DEBUG] Writing tracking file /home/yuranos/.m2/repository/com/phoenixnap/oss/springmvc-raml-plugin/resolver-status.properties 
[DEBUG] Writing tracking file /home/yuranos/.m2/repository/com/phoenixnap/oss/springmvc-raml-plugin/resolver-status.properties 
Downloaded: https://repo.maven.apache.org/maven2/com/phoenixnap/oss/springmvc-raml-plugin/maven-metadata.xml (2 KB at 1.0 KB/sec) 
[DEBUG] Writing tracking file /home/yuranos/.m2/repository/com/phoenixnap/oss/springmvc-raml-plugin/resolver-status.properties 
Downloaded: https://repo.spring.io/libs-milestone/com/phoenixnap/oss/springmvc-raml-plugin/maven-metadata.xml (2 KB at 0.9 KB/sec) 
[DEBUG] Writing tracking file /home/yuranos/.m2/repository/com/phoenixnap/oss/springmvc-raml-plugin/resolver-status.properties 
[DEBUG] Could not find metadata com.phoenixnap.oss:springmvc-raml-plugin/maven-metadata.xml in spring-snapshots (https://repo.spring.io/snapshot) 
[DEBUG] Could not find metadata com.phoenixnap.oss:springmvc-raml-plugin/maven-metadata.xml in spring-milestones-libs (https://repo.spring.io/milestone) 

Lo que es más, experto parece saber cómo comparar varios archivos de metadatos y seleccione la última versión del artefacto. Maven hace uso de éter para resolver dependencias, en base a lo que veo en resolver-status.properties:

#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice. 
#Mon Feb 19 23:41:24 EET 2018 
maven-metadata-spring-milestones.xml.lastUpdated=1519076484366 
maven-metadata-spring-snapshots.xml.error= 
maven-metadata-central.xml.lastUpdated=1519076484205 
maven-metadata-spring-snapshots.xml.lastUpdated=1519076484107 
maven-metadata-spring-milestones-libs.xml.lastUpdated=1519076484105 
maven-metadata-spring-milestones-libs.xml.error= 
Cuestiones relacionadas