4

如果我输入命令:

mvn dependency:list

文档建议我将获得项目依赖项的列表。相反,我得到了这个:

[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] -----------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] -----------------------------------------------------------
[INFO] Required goal not found: dependency:list

称我为有希望的天真者,但我曾希望 maven 会下载它没有的任何插件。有谁知道可能导致此错误的原因?有谁知道 maven 在哪里存储有关它已安装的插件的信息,以及它们在 maven 存储库中的存储位置?

4

6 回答 6

4

您是否尝试过mvn -cpu dependency:list(或:) mvn --check-plugin-updates dependency:list?可能,您有旧版本的依赖插件,它没有目标list

如果这没有帮助,请尝试升级 Maven。由于 Super POM 为最重要的插件(包括依赖插件)提供了 2.0.9 默认版本,因此将下载 2.0 版本(有list目标)。

或者您可以尝试从存储库中删除插件的缓存版本(~/.m2/repository/org/apache/maven/plugins/maven-dependency-plugin/,其中~是用户主目录)。

于 2008-11-21T11:25:58.547 回答
2

我在公司防火墙后面得到了类似的结果。您的配置 (settings.xml) 中的代理设置可能是答案。

<proxies>
  <proxy>
   <id>proxy</id> 
   <active>true</active> 
   <username>user</username>
   <password>passwrd</password>
   <protocol>http</protocol>
   <host>example.proxy.name.com</host>
  <port>80</port>
 </proxy>
</proxies>
于 2008-11-21T12:55:05.873 回答
1

为了回答我自己的问题,多亏了一些评论,settings.xml 文件已经过定制,没有列出中央 maven 存储库。

哎呀。

于 2008-11-21T14:01:56.517 回答
1

通过在发布到论坛(回答上面发布的许多后续问题)或邮件列表时了解失败尝试的所有详细信息,可以更轻松地解决许多 Maven 问题,这是通过使用调试和异常选项运行 Maven 来完成的像这样切换:mvn <yourgoal> -X -e

示例输出将如下所示:

[~/Documents/Temp/Scratch] mvn clean -e -X
Using Java version: 1.6
+ Error stacktraces are turned on.
Maven version: 2.0.9
Java version: 1.6.0_07
OS name: "mac os x" version: "10.5.6" arch: "x86_64" Family: "mac"
[DEBUG] Building Maven user-level plugin registry from: '/Users/mccm06/.m2/plugin-registry.xml'
[DEBUG] Building Maven global-level plugin registry from: '/Applications/Dev/apache-maven/conf/plugin-registry.xml'
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Default Project
[INFO]    task-segment: [clean]
[INFO] ------------------------------------------------------------------------
[DEBUG] Retrieving parent-POM: org.apache.maven.plugins:maven-plugins::10 for project: null:maven-clean-plugin:maven-plugin:2.2 from the repository.
[DEBUG] Retrieving parent-POM: org.apache.maven:maven-parent::7 for project: org.apache.maven.plugins:maven-plugins:pom:10 from the repository.
[DEBUG] Retrieving parent-POM: org.apache:apache::4 for project: org.apache.maven:maven-parent:pom:7 from the repository.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot execute mojo: clean. It requires a project with an existing pom.xml, but the build is not using one.
[INFO] ------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Cannot execute mojo: clean. It requires a project with an existing pom.xml, but the build is not using one.
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Cannot execute mojo: clean. It requires a project with an existing pom.xml, but the build is not using one.
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:377)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
        ... 16 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Mon Feb 16 10:59:39 MST 2009
[INFO] Final Memory: 2M/7M
[INFO] ------------------------------------------------------------------------
于 2009-02-16T18:00:51.723 回答
0

尝试最新的 maven 版本,通常升级到新版本可以解决问题。

于 2008-11-21T11:47:59.690 回答
0

虽然与解决您的问题无关,但首先您应该执行install,然后才尝试为您的插件执行目标。

于 2018-10-10T06:48:10.657 回答