2015-03-28 13 views
9

Ho installato Maven 3.3.1 e Java 1.7 sul mio computer, Windows 8.1.Ho inserito il comando mvn in Windows, ma la riga di comando restituisce un suggerimento java

MAVEN_HOME=C:\Program Files\Apache\apache-maven-3.3.1 
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75 
Path=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%MAVEN_HOME%\bin; 

Ho cercato di accedere a riga di comando mvn, in C: \ Users \ {mionomeutente}>, funziona bene:

C:\Users\{myusername}>java -version 
java version "1.7.0_75" 
Java(TM) SE Runtime Environment (build 1.7.0_75-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode) 

C:\Users\{myusername}>mvn -version 
Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T13:10:2 
7-07:00) 
Maven home: C:\Program Files\Apache\apache-maven-3.3.1\bin\.. 
Java version: 1.7.0_75, vendor: Oracle Corporation 
Java home: C:\Program Files\Java\jdk1.7.0_75\jre 
Default locale: en_US, platform encoding: GBK 
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows" 

Ma quando cambio il percorso del comando a D :, un altro disco nella mia macchina, l'uscita diventa:

D:\>mvn --version 
Usage: java [-options] class [args...] 
      (to execute a class) 
    or java [-options] -jar jarfile [args...] 
      (to execute a jar file) 
where options include: 
    -d32   use a 32-bit data model if available 
    -d64   use a 64-bit data model if available 
    -server  to select the "server" VM 
    -hotspot  is a synonym for the "server" VM [deprecated] 
        The default VM is server. 

    -cp <class search path of directories and zip/jar files> 
    -classpath <class search path of directories and zip/jar files> 
        A ; separated list of directories, JAR archives, 
        and ZIP archives to search for class files. 
    -D<name>=<value> 
        set a system property 
    -verbose:[class|gc|jni] 
        enable verbose output 
    -version  print product version and exit 
    -version:<value> 
        require the specified version to run 
    -showversion print product version and continue 
    -jre-restrict-search | -no-jre-restrict-search 
        include/exclude user private JREs in the version search 
    -? -help  print this help message 
    -X   print help on non-standard options 
    -ea[:<packagename>...|:<classname>] 
    -enableassertions[:<packagename>...|:<classname>] 
        enable assertions with specified granularity 
    -da[:<packagename>...|:<classname>] 
    -disableassertions[:<packagename>...|:<classname>] 
        disable assertions with specified granularity 
    -esa | -enablesystemassertions 
        enable system assertions 
    -dsa | -disablesystemassertions 
        disable system assertions 
    -agentlib:<libname>[=<options>] 
        load native agent library <libname>, e.g. -agentlib:hprof 
        see also, -agentlib:jdwp=help and -agentlib:hprof=help 
    -agentpath:<pathname>[=<options>] 
        load native agent library by full pathname 
    -javaagent:<jarpath>[=<options>] 
        load Java programming language agent, see java.lang.instrument 

    -splash:<imagepath> 
        show splash screen with specified image 
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for m 
ore details. 

D:\>java -version 
java version "1.7.0_75" 
Java(TM) SE Runtime Environment (build 1.7.0_75-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode) 

Inoltre, quando uso IntelliJ creare il progetto Maven, proprio come quickstart, l'errore di simile è accaduto:

0.123.516,410617 millions

Ho provato come mvn -version, mvn -d. Ma continuano a non funzionare. Qualcuno potrebbe aiutarmi? Grazie!!

Aggiornato: Ora le mie variabili d'ambiente è impostata su:

JAVA_HOME=C:\Program Files\Java\jdk1.7.0_75; 
CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 
M2_HOME=C:\Program Files\Apache\apache-maven-3.3.1; 
MAVEN_HOME=C:\Program Files\Apache\apache-maven-3.3.1; 
PATH=%JAVA_HOME%\bin;%M2_HOME%\bin;{others...} 

E il problema esiste ancora.

Aggiornato:

Ogni volta digito dopo il comando mvn in D: percorso, la linea di comando sarà solo tornare java suggerimento; sembra che tutte le cose dopo che sono state ignorate. Proprio come questo:

D:\>mvn fewadsfe 
Usage: java [-options] class [args...] 
      (to execute a class) 
    or java [-options] -jar jarfile [args...] 
      (to execute a jar file) 
where options include: 
    -d32   use a 32-bit data model if available 
    -d64   use a 64-bit data model if available 
    -server  to select the "server" VM 
    -hotspot  is a synonym for the "server" VM [deprecated] 
        The default VM is server. 

    -cp <class search path of directories and zip/jar files> 
    -classpath <class search path of directories and zip/jar files> 
        A ; separated list of directories, JAR archives, 
        and ZIP archives to search for class files. 
    -D<name>=<value> 
        set a system property 
    -verbose:[class|gc|jni] 
        enable verbose output 
    -version  print product version and exit 
    -version:<value> 
        require the specified version to run 
    -showversion print product version and continue 
    -jre-restrict-search | -no-jre-restrict-search 
        include/exclude user private JREs in the version search 
    -? -help  print this help message 
    -X   print help on non-standard options 
    -ea[:<packagename>...|:<classname>] 
    -enableassertions[:<packagename>...|:<classname>] 
        enable assertions with specified granularity 
    -da[:<packagename>...|:<classname>] 
    -disableassertions[:<packagename>...|:<classname>] 
        disable assertions with specified granularity 
    -esa | -enablesystemassertions 
        enable system assertions 
    -dsa | -disablesystemassertions 
        disable system assertions 
    -agentlib:<libname>[=<options>] 
        load native agent library <libname>, e.g. -agentlib:hprof 
        see also, -agentlib:jdwp=help and -agentlib:hprof=help 
    -agentpath:<pathname>[=<options>] 
        load native agent library by full pathname 
    -javaagent:<jarpath>[=<options>] 
        load Java programming language agent, see java.lang.instrument 

    -splash:<imagepath> 
        show splash screen with specified image 
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for m 
ore details. 
+0

Come si impostano le variabili di ambiente? Inoltre, non inserire il jre nella cartella 'Path =% JAVA_HOME% \ bin;% MAVEN_HOME% \ bin;' –

+0

Sì, ho eliminato la cartella jre per le variabili di ambiente Path. Ma il problema esiste ancora ... – LoGWRiTer

+0

Solo due cose. JAVA_HOME deve essere impostato correttamente, il che significa che Maven deve puntare a un JDK. Solo la cartella bin di 'apache-maven-3.3.1/bin' deve essere nel tuo percorso. Questo è tutto ciò che serve davvero. Successivamente dovresti eseguire 'mvn --version'. Devi chiudere e riaprire la tua console dopo aver modificato le variabili di ambiente. – khmarbaise

risposta

6

ho avuto lo stesso problema con Maven 3.3.1 ma quando ho provato la versione 3.2.5 il problema risolto. Non so cosa c'è di sbagliato in Windows 7/8 e Maven 3.3.1.

+0

Sì. Penso di aver cambiato la versione con Maven. Grazie! – LoGWRiTer

+0

Sì, qui. È questo problema con Maven alla finestra 8. – AtulJain

0

D'altra unità che si sta eseguendo il comando con -- invece di - che non è riconosciuto e stampe -help invece. Assicurarsi che si sta utilizzando

mvn -version 

-Dmaven.multiModuleProjectDirectory proprietà di sistema non è impostato.

Questo è un errore noto (maggiori dettagli here) che è stato fissato ora. Aggiorna o correggi l'installazione corrente come descritto nel bug tracker.

Risolto in IDEA 14.0.xe 14.1 rami, la correzione sarà disponibile in 14.0.5 e 14.1.1 rispettivamente.

Se volete provare la correzione in questo momento, effettuare le seguenti operazioni:

per IDEA 14.0.3:

  1. decomprimere l'archivio con la patch dal IDEA-137783-patch-for_IDEA_14.0.3.zip
  2. backup e sostituire i seguenti vasi

    • \ plugins \ maven \ lib \ maven.jar
    • \ plugins \ maven \ lib \ maven-server-api.jar

    con vasi dall'archivio

per IDEA 14.1:

  1. decomprimere l'archivio con il patch da IDEA-137783-patch-for_IDEA_14.1.zip
  2. backup e sostituire i seguenti vasi

    • \ plugins \ Maven \ lib \ maven.jar
    • \ plugins \ Maven \ lib \ Maven-server-api.jar
    • \ plugins \ Maven \ lib \ maven32-server-impl.jar

    con vasi dall'archivio

+0

In realtà ho provato "-" o "-" su entrambi i dischi. Ma il problema esiste ancora. – LoGWRiTer

+0

Qual è l'output con '-' su disco' D'? –

+0

ancora il suggerimento java, come lo stesso prima ... – LoGWRiTer

9

Anche io ho questo problema con Maven 3.3.1 e Windows 7 e ho trovato questo answer in un forum. In questa versione di Maven c'è un problema con la riga di comando che viene emessa nella directory root di un disco (c: \, d: \, ...). L'emissione del comando su qualsiasi altra directory funziona.

+2

Questo era anche il mio problema, stavo solo eseguendo mvn -version per verificare che il percorso fosse corretto. stava per declassare quando ho visto questo ... grazie – James

+0

Sì, penso che questo aiuti davvero! Grazie! – LoGWRiTer

2

Come indicato nelle risposte precedenti, il problema è con la proprietà "-Dmaven.multiModuleProjectDirectory=C:\". Se le virgolette intorno a questa proprietà vengono rimosse, il comando java funziona correttamente. Sembra che la citazione finale sia trattata come parte del percorso a causa del precedente backslash.

L'aggiunta della riga successiva in mvn.cmd dopo il :endDetectBaseDir ha risolto il problema per me. Sto usando Maven 3.3.3.

IF "%MAVEN_PROJECTBASEDIR:~-1%"=="\" set MAVEN_PROJECTBASEDIR=%MAVEN_PROJECTBASEDIR%\

Problemi correlati