java macos maven jenv

java - Maven ignorando las configuraciones de jenv



homebrew (3)

Tenía OSX con Java 1.6 instalado, y acabo de instalar jenv junto con Java 1.7 :

$ 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 está haciendo su trabajo, con $ java -version siempre funcionando, mostrando 1.6 cuando lo puse en 1.6 y 1.7 cuando lo puse en 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)

... pero maven está ignorando mi configuración:

$ 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"

Encontré esta pregunta de SO donde el chico solo necesitaba codificar su JAVA_HOME dentro de .mavenrc , pero no quiero el mío codificado (¡por lo tanto, jenv !), Y no tengo un ~/.mavenrc , ni un /etc/mavenrc .

La versión que está usando parece ser la que sea la primera en la salida de /usr/libexec/java_home , por lo que en el corto plazo pude recuperar 1.6 nuevamente al modificar el archivo Info.plist de 1.7 (de esta publicación SO ), pero eso solo significa que obtengo 1.6 en lugar de 1.7.

¿Algunas ideas?



Debe instalar el complemento jenv maven, pruebe el siguiente comando y vuelva a cargar su shell:

jenv enable-plugin maven


Tuve un problema similar. Tengo las cosas en ejecución prefijando todos los comandos con jenv exec :

jenv exec mvn -version