Perché Mven non riesce a trovare un plugin?
-
08-07-2019 - |
Domanda
Se digito il comando:
mvn dependency:list
I docs suggeriscono che avrò un elenco dei miei dipendenze del progetto. Invece, ottengo questo:
[INFO] Searching repository for plugin with prefix: 'dependency'.
[INFO] -----------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] -----------------------------------------------------------
[INFO] Required goal not found: dependency:list
Chiamami un ingenuo speranzoso, ma avevo sperato che Mavven avrebbe scaricato tutti i plugin che non aveva. Qualcuno sa cosa potrebbe portare a questo errore? Qualcuno sa dove Mavven memorizza informazioni su quali plugin ha installato e dove sono archiviati nel repository Maven?
Soluzione 3
Per rispondere alla mia domanda, grazie ad alcuni commenti che sono stati fatti su di esso, il file settings.xml era stato personalizzato e non elencava il repository centrale di Maven.
Spiacenti.
Altri suggerimenti
Hai provato mvn -cpu dependency:list
(o: mvn --check-plugin-updates dependency:list
)? Probabilmente, hai una versione precedente del plug-in di dipendenza che non ha l'obiettivo list
Se questo non aiuta, prova ad aggiornare Maven. Poiché le versioni predefinite 2.0.9 sono fornite da Super POM per i plug-in più importanti (plug-in di dipendenza incluso), la versione 2.0 verrà scaricata (che ha ~/.m2/repository/org/apache/maven/plugins/maven-dependency-plugin/
obiettivo).
Oppure puoi provare a rimuovere la versione cache del plug-in dal repository (~
, dove <=> è la home directory dell'utente).
Ho ottenuto un risultato simile dall'essere dietro il firewall aziendale. Le impostazioni proxy nella tua configurazione (settings.xml) potrebbero essere la risposta.
<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>
Molti problemi di Maven possono essere risolti più facilmente conoscendo tutti i dettagli del tentativo fallito quando si pubblicano nei forum (rispondendo a molte delle domande di follow-up che le persone sopra postate) o alla mailing list, e questo si ottiene eseguendo Maven con il debug e le opzioni di eccezione cambiano in questo modo: mvn <yourgoal> -X -e
L'output di esempio apparirà così:
[~/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] ------------------------------------------------------------------------
Prova l'ultima versione di Maven, di solito gli aggiornamenti alle versioni più recenti risolvono i problemi.
Sebbene non correlato alla risoluzione del problema, prima devi eseguire install
e solo successivamente provare a eseguire gli obiettivi per il tuo plug-in.