2011-12-10 16 views
11

I; sto seguendo Maven in 5 Minutes manuale con il seguente:Maven in 5 minuti problema

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false 

ho ottenuto il seguente errore:

[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.160s 
[INFO] Finished at: Sat Dec 10 16:27:55 ICT 2011 
[INFO] Final Memory: 2M/15M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (
D:\experiment\maven). Please verify you invoked Maven from the correct directory. -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following arti 
cles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException 

prega di aiuto. Grazie in anticipo per il vostro aiuto.

MORE INFO:

PS D:\experiment\maven> ping http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom 
Ping request could not find host http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom. Please check the name and try again. 

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 0.869s 
[INFO] Finished at: Sat Dec 10 19:03:37 ICT 2011 
[INFO] Final Memory: 2M/15M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (
D:\experiment\maven). Please verify you invoked Maven from the correct directory. -> [Help 1] 
org.apache.maven.lifecycle.MissingProjectException: The goal you specified requires a project to exe 
cute but there is no POM in this directory (D:\experiment\maven). Please verify you invoked Maven fr 
om the correct directory. 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:89) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:601) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following arti 
cles: 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MissingProjectException 
+1

È strano. Ho appena provato il comando ** exact ** e ha creato un progetto Maven chiamato 'my-app' senza errori. Puoi confermare che stai emettendo questo comando da una directory che non è già un progetto Maven? Se sei nuovo a Maven è meglio provare queste cose da una directory vuota. –

risposta

2

In primo luogo, si dovrebbe seguire il consiglio del messaggio di errore. Chiama Maven con le bandiere aggiuntive per ottenere maggiori informazioni.

In secondo luogo, è necessario assicurarsi che la connessione Internet funzioni dalla riga di comando. Ad esempio, puoi scaricare http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-archetype-plugin/2.2/maven-archetype-plugin-2.2.pom dal tuo browser? In caso contrario, Maven non è in grado di scaricare i plug-in necessari e quindi il normale bootstrap necessario prima che il progetto possa essere compilato non viene eseguito. Verifica se il tuo browser utilizza un proxy e non hai definito una variabile di ambiente HTTP_PROXY. Se questo è il caso, definire nella shell si sta utilizzando la variabile HTTP_PROXY dal comando:

set HTTP_PROXY=http://<my.proxy.host>:<port> 

con i valori giusti per my.proxy.host e port. Se funziona così bene, definire la variabile di ambiente per il sistema, in modo che ogni shell aperta abbia quella variabile d'ambiente definita.

Si prega di aggiungere tali informazioni alla tua domanda, e mi dispiace per il consiglio sbagliato di chiamare ping http://...., che non può funzionare.

+0

HTTP_PROXY non è definito. Inoltre, il mio browser utilizza proxy. Sto usando Windows 7 SP1 – pion

22

Sto usando Windows 7 SP1.

Stavo avendo il problema perché l'ho eseguito usando PowerShell.

Funziona correttamente quando l'ho eseguito utilizzando CMD.EXE.

Grazie per l'aiuto di tutti.

+1

Sarebbe bello aggiungere tali informazioni alla tua domanda (o anche al titolo della tua domanda), perché quella informazione è interessante qui. Bene che ora funziona per te. – mliebelt

+0

Osservazione intelligente, ho avuto lo stesso problema. – javamonkey79

+0

Strano, ma ha funzionato! –

0

Non sono sicuro che si stia eseguendo "mvn compile" dalla directory POM ed è per questo che richiede POM.

In tal caso, basta andare alla directory in cui si trova pom e quindi avviare "mvn install" o qualsiasi altro comando di Maven.

9

Ho incontrato lo stesso problema, e sembra che abbiamo la configurazione simile

  • Windows 7
  • PowerShell
  • proxy HTTP

ecco quello che devo fare :

  1. Avvolgere tutto "-D..." all'interno di virgolette doppie, ad es.

    mvn archetype:generate "-DarchetypeGroupId=org.apache.maven.archetypes" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DgroupId=com.mycompany.app" "-DartifactId=my-app" 
    
  2. Assicurarsi di avere "HTTP_PROXY" impostare correttamente le variabili envrironment (verificarle digitando "echo $Env:HTTP_PROXY")

+0

Mi piace questa risposta meglio del suggerimento di utilizzare CMD.EXE perché questa è una soluzione invece di una soluzione alternativa. Grazie, ha funzionato per me. – neontapir

2

ho avuto un errore simile e provato ad utilizzare le virgolette per avvolgere tutto -D ed ha lavorato per me ..

Esempio:

mvn archetype:create "-DarchetypeGroupId=org.springframework.ws" "-DarchetypeArtifactId=spring-ws-archetype" "-DarchetypeVersion=2.1.4.RELEASE" "-DgroupId=com.mycompany.hr" "-DartifactId=holidayService" 
+0

Se questo risolve il problema, dipende principalmente dalla shell e da fattori simili. –

Problemi correlati