maven-help-plugin: 评估失败 "Unable to get the POM for the artifact"

maven-help-plugin:evaluate fails with "Unable to get the POM for the artifact"

我正在尝试 运行 mvn -B org.apache.maven.plugins:maven-help-plugin:2.2:evaluate -Dexpression=project.version -Dartifact=com.acme:aggregator 在 Maven 3.2.3

我不明白为什么会失败,尤其是你可以在调试输出中清楚地看到正在处理的项目是我用 artifact 参数选择的项目。

此外,如果我跳过 artifact 参数,构建会正常执行,并且我得到了预期的 0.0.1-SNAPSHOT 输出,只有一条 No artifact parameter specified, using 'com.acme:aggregator:pom:0.0.1-SNAPSHOT' as project. 消息。

这是一个错误吗?

07:03:36 [DEBUG] Configuring mojo org.apache.maven.plugins:maven-help-plugin:2.2:evaluate from plugin realm ClassRealm[plugin>org.apache.maven.plugins:maven-help-plugin:2.2, parent: sun.misc.Launcher$AppClassLoader@55c4d594]
07:03:36 [DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-help-plugin:2.2:evaluate' with basic configurator -->
07:03:36 [DEBUG]   (f) artifact = com.acme:aggregator
07:03:36 [DEBUG]   (f) expression = project.version
07:03:36 [DEBUG]   (f) localRepository =       id: local
07:03:36       url: file:///home/jenkins/.m2/repository/
07:03:36    layout: default
07:03:36 snapshots: [enabled => true, update => always]
07:03:36  releases: [enabled => true, update => always]
07:03:36 
07:03:36 [DEBUG]   (f) remoteRepositories = [      id: releases
07:03:36       url: https://mvnrepo.acme-it.com:5972/content/repositories/releases/
07:03:36    layout: default
07:03:36 snapshots: [enabled => false, update => daily]
07:03:36  releases: [enabled => true, update => daily]
07:03:36 ,       id: central
07:03:36       url: https://repo.maven.apache.org/maven2
07:03:36    layout: default
07:03:36 snapshots: [enabled => false, update => daily]
07:03:36  releases: [enabled => true, update => daily]
07:03:36 ,       id: thirdparty
07:03:36       url: https://mvnrepo.acme-it.com:5972/content/repositories/thirdparty
07:03:36    layout: default
07:03:36 snapshots: [enabled => false, update => daily]
07:03:36  releases: [enabled => true, update => never]
07:03:36 ]
07:03:36 [DEBUG]   (f) project = MavenProject: com.acme:aggregator:0.0.1-SNAPSHOT @ /home/jenkins/workspace/Avalon_CFS_Tomcat_Functional_Tests_Java7/avalon/module/pom.xml
07:03:36 [DEBUG]   (f) session = org.apache.maven.execution.MavenSession@49991717
07:03:36 [DEBUG]   (f) settings = org.apache.maven.execution.SettingsAdapter@3f424360
07:03:36 [DEBUG] -- end configuration --
07:03:36 [DEBUG] Skipped remote update check for com.acme:aggregator/maven-metadata.xml, locally installed metadata up-to-date.
07:03:36 [DEBUG] Skipped remote update check for com.acme:aggregator/maven-metadata.xml, locally installed metadata up-to-date.
07:03:36 [DEBUG] Skipped remote update check for com.acme:aggregator/maven-metadata.xml, locally installed metadata up-to-date.
07:03:36 [INFO] ------------------------------------------------------------------------
07:03:36 [INFO] Reactor Summary:
07:03:36 [INFO] 
07:03:36 [INFO] aggregator ......................................... FAILURE [  1.104 s]
07:03:36 [INFO] ------------------------------------------------------------------------
07:03:36 [INFO] BUILD FAILURE
07:03:36 [INFO] ------------------------------------------------------------------------
07:03:36 [INFO] Total time: 3.285 s
07:03:36 [INFO] Finished at: 2015-11-02T07:03:36-08:00
07:03:36 [INFO] Final Memory: 18M/620M
07:03:36 [INFO] ------------------------------------------------------------------------
07:03:36 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-help-plugin:2.2:evaluate (default-cli) on project aggregator: Unable to get the POM for the artifact 'com.acme:aggregator'. Verify the artifact parameter. -> [Help 1]
07:03:36 org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-help-plugin:2.2:evaluate (default-cli) on project aggregator: Unable to get the POM for the artifact 'com.acme:aggregator'. Verify the artifact parameter.

我可以确认这种行为。

如果您指定 -Dartifact=... 参数 help:evaluate 显然会尝试在 Maven 的中央存储库中找到给定的工件:

...
[INFO] --- maven-help-plugin:2.2:evaluate (default-cli) @ test ---
[INFO] Downloading: http://uk.maven.org/maven2/my/test/maven-metadata.xml
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
...

如果在那里找不到它就会失败。

正在调用:

mvn help:evaluate -Dexpression=project.version

打印当前 POM 的信息,即您当前所在目录中的项目的信息。