2010-05-20 1 views
28

Я генерирую пример быстрого запуска Maven по умолчанию и введите mvn checkstyle:checkstyle, он всегда пытается использовать последнюю версию SNAPSHOT. Вероятно, это неправильно на моем сервере Nexus, но как я могу установить версию плагина в командной строке в Maven 2, например 2.5 для checkstyle вместо 2.6-SNAPSHOT?Установите версию плагина в командной строке в 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 

Я предполагаю, что это может быть mvn checkstyle:2.5:checkstyle, к сожалению, это не так.

Несомненно, если я установил зависимость построения в pom.xml, это сработает, но я хочу посмотреть, как работает командная строка.

+0

Если я печатаю в полном артефакте, он работает МВНЫ org.apache.maven.plugins: Maven-Checkstyle-плагин: 2,5 : checkstyle –

ответ

53

Если вы не хотите запускать последнюю версию плагина, установленного в вашем локальном репозитории, вам необходимо установить номер версии. И для этого вам нужно указать полностью квалифицированные цели в виде:

mvn groupID:artifactID:version:goal 

Так что в вашем случае:

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

«_run последняя версия плагина, установленного в вашем локальном репозитории», похоже, не верна. У меня есть 'maven-dependency-plugin'' 2.8',' 2.10' и '3.0.0' в моем локальном репо, а Maven работает' 2.8' по умолчанию. Даже если я удалю '2.8', Maven перезагрузит его при следующем запуске. –

0

Вы также можете использовать:

MVN { your groupId}: {your artifactId}: {ваша версия}: {ваша цель}

0

Мой опыт работы с более новой версией maven (3.3. 9) несколько отличается. Если я не буду запускать maven в автономном режиме, он будет ВСЕГДА идти на дистанционное репо, независимо от того, что у меня есть на локальном. И если он найдет более новую версию (на основе maven-metadata.xml), она будет загружать и использовать ее. Более того, она будет сканировать несколько сделок РЕПО одновременно:

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

Более того, специалист, кажется, знает, как сравнить несколько файлов метаданных и выбрать самую последнюю версию артефакта. Maven использует Эфир для разрешения зависимостей, основанных на том, что я вижу в 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= 

 Смежные вопросы

  • Нет связанных вопросов^_^