在Maven 2的命令行中设置插件的版本

Lar*_*Cai 39 maven-2 snapshot

我生成默认的Maven快速入门例子,和类型mvn checkstyle:checkstyle,它总是尝试使用最新的SNAPSHOT版本.也许这是错误的,我的Nexus服务器,但我怎么可以设置插件的命令行版本的Maven 2,喜欢2.5的CheckStyle的,而不是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
Run Code Online (Sandbox Code Playgroud)

我想它可能是mvn checkstyle:2.5:checkstyle,不幸的是它不是.

当然,如果我设置建立Dependance的pom.xml,它会工作,但我想看看命令行可以工作.

Pas*_*ent 65

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

mvn groupID:artifactID:version:goal
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下:

mvn org.apache.maven.plugins:maven-checkstyle-plugin:2.5:checkstyle
Run Code Online (Sandbox Code Playgroud)

  • “ _运行您本地存储库中安装的插件的最新版本_”似乎不正确。我的本地仓库中有`maven-dependency-plugin``2.8`,`2.10`和`3.0.0`,Maven默认运行`2.8`。即使删除`2.8`,Maven也会在下次运行时重新下载它。 (2认同)