2015-06-02 19 views
7

ho avuto OSX con Java 1.6 installato, e ho appena installato jenv insieme Java 1.7:Maven ignorando jenv impostazioni

$ jenv local '1.7' 
$ jenv versions 
    system 
    1.6 
    1.6.0.65 
* 1.7 (set by /Users/me/workspace/.java-version) 
    1.7.0.79 
    oracle64-1.6.0.65 
    oracle64-1.7.0.79 

jenv sta facendo il suo lavoro, con $ java -version sempre al lavoro, mostrando 1.6 quando ho impostato a 1.6, 1.7 e quando ho impostato a 1.7:

$ java -version 
java version "1.7.0_79"     <--------------------------------- YAY!! 
Java(TM) SE Runtime Environment (build 1.7.0_79-b15) 
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) 

... ma Maven è ignorando le mie impostazioni:

$ mvn -version 
Apache Maven 3.0.2 (r1056850; 2011-01-08 19:58:10-0500) 
Java version: 1.6.0_65, vendor: Apple Inc. <--------------------------------- BAH!! 
Java home: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
Default locale: en_US, platform encoding: MacRoman 
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac" 

ho trovato this SO question dove il ragazzo aveva solo bisogno di codificare il suo JAVA_HOME all'interno .mavenrc, ma non voglio che il mio hard-coded (quindi jenv!), E io non avere un ~/.mavenrc, né un /etc/mavenrc.

La versione che sta utilizzando sembra essere da qualunque di prima sul /usr/libexec/java_home uscita, quindi nel breve periodo sono stato in grado di ottenere 1.6 di nuovo con le opportune 1.7 di Info.plist di file (da this SO post), ma questo significa solo ottengo 1,6 invece di 1,7.

Qualche idea?

risposta

13

È necessario installare il plugin jenv Maven, provare il seguente comando e ricaricare la vostra shell:

jenv consentono-plugin Maven

+0

Non sono sicuro del motivo per cui ho impiegato così tanto tempo per notare questa risposta. Funziona come un fascino! Molto meglio di dover prefisso tutto. Grazie (anche se tardivamente)! – inanutshellus

9

Ho avuto un problema simile. Mi sono le cose in esecuzione anteponendo tutte comando con jenv exec:

jenv exec mvn -version 
+0

Fantastico! Penso che sarò "alias" in questo modo. Grazie! – inanutshellus