Почему Maven не может найти плагин? - PullRequest
4 голосов
/ 21 ноября 2008

Если я наберу команду:

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?

Ответы [ 6 ]

4 голосов
/ 21 ноября 2008

Вы пробовали mvn -cpu dependency:list (или: mvn --check-plugin-updates dependency:list)? Возможно, у вас более старая версия плагина зависимости, который не имеет цели list

Если это не поможет, попробуйте обновить Maven. Поскольку версии 2.0.9 по умолчанию предоставляются Super POM для большинства важных плагинов (включая плагин зависимостей), будет загружена версия 2.0 (которая имеет list цель).

Или вы можете попробовать удалить кэшированную версию плагина из репозитория (~/.m2/repository/org/apache/maven/plugins/maven-dependency-plugin/, где ~ - домашний каталог пользователя).

2 голосов
/ 21 ноября 2008

Я получил похожий результат от нахождения за корпоративным брандмауэром. Настройки прокси в вашей конфигурации (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>
1 голос
/ 16 февраля 2009

Многие проблемы 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] ------------------------------------------------------------------------
1 голос
/ 21 ноября 2008

Чтобы ответить на мой собственный вопрос, благодаря некоторым комментариям к нему, файл settings.xml был настроен и не перечислял центральное хранилище maven.

К сожалению.

0 голосов
/ 10 октября 2018

Хотя это не связано с исправлением вашей проблемы, сначала вы должны выполнить install, а только затем попытаться выполнить цели для вашего плагина.

0 голосов
/ 21 ноября 2008

Попробуйте последнюю версию Maven, обычно обновления до более новых версий решают проблемы.

...