Maven 2 设置插件’;Maven 2中命令行上的s版本

Maven 2 设置插件’;Maven 2中命令行上的s版本,maven-2,snapshot,Maven 2,Snapshot,我生成默认的quickstart Maven示例,并键入mvn checkstyle:checkstyle,它总是尝试使用最新的快照版本。在我的Nexus服务器中可能是错误的,但是我如何在Maven 2中的命令行上设置插件的版本,比如为checkstyle设置2.5,而不是2.6-SNAPSHOT C:\HelloWorld>mvn checkstyle:checkstyle [INFO] Scanning for projects... [INFO] Searching reposito

我生成默认的quickstart Maven示例,并键入
mvn checkstyle:checkstyle
,它总是尝试使用最新的
快照版本。在我的Nexus服务器中可能是错误的,但是我如何在Maven 2中的命令行上设置插件的版本,比如为checkstyle设置
2.5
,而不是
2.6-SNAPSHOT

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
中设置build Dependence,它会工作,但我想看看命令行如何工作。

如果您不想运行安装在本地存储库中的插件的最新版本,您需要设置版本号。为此,您需要以以下形式指定完全限定的目标:

mvn groupID:artifactID:version:goal
因此,在你的情况下:

mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.5:checkstyle
您还可以使用:

mvn{your groupId}:{your artifactId}:{your version}:{your goal}


我对更新版本的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似乎知道如何比较多个元数据文件并选择最新版本的工件。 Maven根据我在
解析器状态中看到的内容,利用以太来解析依赖关系。属性

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

如果我输入完整的工件,它可以工作mvn org.apache.maven.plugins:maven checkstyle plugin:2.5:checkstyle“运行本地存储库中安装的插件的最新版本”似乎不是真的。我在本地回购中有
maven依赖插件
2.8
2.10
3.0.0
,默认情况下,maven运行
2.8
。即使我删除了
2.8
Maven也会在下次运行时重新下载它。欢迎使用Stack Overflow,谢谢您的回答。最好的答案是为代码或命令添加一些解释。你可以用这个答案来改进它。
mvn org.apache.maven.plugins:maven-site-plugin:3.7.1:site