2012-07-05 11 views
5

después de instalar jdk7u5 para mac os obtuve diferentes versiones de java para usuarios "normales" y raíz.versión de mac os java de root es diferente

java -version me da la

7.

sudo java -version me da la

6.

He mirado en el /System/Library/Frameworks/JavaVM.framework/Versions/ encontraron que hay algunos enlaces. Después de resolver los enlaces al Directorio real lo intenté nuevamente con todo el camino.

/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java -version -> 7

sudo /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java -version -> 6

mismo con javac!

Espero que me ayuden!

+0

¿Cuál es exactamente tu pregunta? ¿Desea configurar el usuario root para Java 7? – Failsafe

+0

Quiero que Java para root sea el mismo que para el usuario normal. En mi caso, 'sudo java -version' también debería ser la versión 7 –

+0

Intenta configurar tu JAVA_HOME en la versión actualizada de java. – Failsafe

Respuesta

5

En OSX/usr/bin/java busca la versión java que se utilizará mirando lo que elija utilizando /Applications/Utilities/Java Preferences.app. Los archivos que estos usos también son actualizados por el actualizador de Oracle.

Como tiene que arrastrar manualmente las versiones para configurar Java 1.7, solo habrá configurado esto para el usuario que lo ejecuta, es decir, no como root. Para configurarlo para la raíz, ejecuté la aplicación como sudo /Applications/Utilities/Java\ Preferences.app/Contents/MacOS/Java\ Preferences y moví 1.7 a la parte superior.

Por lo que puedo ver los archivos que las actualizaciones de la aplicación están en ~/Library/Preferences/ByHost/com.apple.java.JavaPreferences.<hex number>.plist donde <hex number> está relacionado con la máquina. El directorio de inicio de Root es/var/root, así que ahora tengo /var/root/Library/Preferences/ByHost/com.apple.java.JavaPreferences.<hex number>.plist

+0

¡Gracias por su ayuda! :) ¡funciona bien! –

+0

Solo espero que notar que se ejecuta como rotura necesita 1.6 - pero dudo mucho que Apple use Java – Mark

-1

Parece que la versión java utilizada por el enlace especificado depende de la variable de entorno JAVA_VERSION. ¿Podría ser que esta variable esté configurada para su usuario, pero se borrará al sudo? En ese caso, desconectarlo explícitamente para el usuario o configurarlo para la raíz debería ayudar a mantenerlos sincronizados. Por supuesto, también puede reemplazar el /A/ por la versión real que desea ejecutar.

+0

No hay un conjunto 'JAVA_VERSION'. 'which java' ->'/usr/bin/java' 'sudo which java' ->'/usr/bin/java', '/ usr/bin/java' es un enlace a'/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java' –

0

Se ha producido el mismo problema en Mac OS X 10.7.5 + JRE 1.6.0_43 + JDK 1.7.0_17.

  • java -version => 1,7
  • sudo java -version => 1,6

Abrir panel de control Java con sudo, esto soluciona el problema:

  • sudo/usr/bin/javaws -viewer
Cuestiones relacionadas