Ubuntu parece favorecer mucho a OpenJDK / JRE sobre Sun JDK / JRE. Incluso después de que instalé Sun JRE, JDK y el complemento y pasé algún tiempo sacando paquetes relacionados con OpenJDK, apt-get los ha instalado nuevamente con algunos paquetes como una dependencia. ¿Se puede corregir este comportamiento a favor de los paquetes Sun Java? Me gustaría tener una única pila Java instalada (sí, es un poco de OCD , pero me gusta tener mis sistemas limpios) y quiero que sea Sun Java.
Actualización: como señala Marcos Roriz, el problema parece estar en default-jre (del que dependen los paquetes dependientes de Java) que apunta a OpenJDK, por lo que la pregunta parece ser cómo hackear default-jre / default-jdk para señalar a Sun Java.
Respuestas:
Instalación de Sun Java en versiones anteriores de Ubuntu (9.10 y posteriores)
Tuve el mismo problema una vez hace unos tres años con Ubuntu 8.04, creo. Hubo un problema extraño al usar openjre y el problema se resolvió usando la versión sun jre. Estos son los pasos en la terminal que se aplican a las versiones inferiores a 10.04, ya que a partir de 10.04 sun java se ha eliminado y reemplazado por openjre:
(Todo lo relacionado con Sun Java. Solo para asegurarse)
Después de eso, si eliminaste openjdk, solo tendrías sun java. Si no lo eliminó, entonces tiene ambos. Para cambiar de uno a otro, haga esto:
sudo update-java-alternatives -l
- Esto le mostrará la lista de motores Java que puede usar.El nombre de la alternativa de Java es el de la izquierda, por lo que, por ejemplo, openjdk aparecería así:
Y configuraría el sistema para abrir jdk de esta manera:
Si desea utilizar Sun, haga esto (después de la instalación de los paquetes de Sun):
Si desea utilizar la versión de Java 7, simplemente cambie el número 6 mencionado anteriormente por 7. Por ejemplo, si quisiera instalar la versión 7 de Openjre, haría lo siguiente:
Instalación de Sun Java en versiones más nuevas de Ubuntu (10.04 y anteriores)
Abra la terminal y escriba lo siguiente:
Eso debería instalar la versión Sun Java en su sistema. Para cambiarlo, simplemente haga lo siguiente en caso de que tenga otras alternativas de Java:
Si desea que la instalación sea automática, escriba lo siguiente:
después de eso, simplemente haga lo siguiente para establecer las variables de entorno predeterminadas:
Tenga en cuenta que el PPA incluye las versiones 6, 7 y 8. Para que pueda instalar cualquiera de ellos simplemente cambiando el número en la línea de instalación, por ejemplo:
Instalaría Java 8. Después de instalar la versión de Java que desea utilizar y establecer la versión predeterminada con el
update-java-alternatives
comando, puede verificar qué versión está utilizando escribiendo lo siguiente:Le mostrará la versión predeterminada que está utilizando en ese momento.
También me gustaría mencionar que OpenJRE / JDK ha recorrido un largo camino desde hace 2 o 3 años cuando tenía muchos problemas que se resolvieron al cambiar a Sun Java.
fuente
Creo que el problema es que algunos paquetes de Java se basan en default-jre que apunta a openjdk-jre. No creo que haya una manera fácil de desinstalar permanentemente openjdk. La cuestión es que probablemente te encuentres con openjdk nuevamente cuando instales un paquete / programa java.
Pero si está dispuesto a tener ambos, ¿es fácil configurar los programas de tiempo de ejecución de Java (Java, Java, Java, etc.) para la implementación de Sun? Hazlo:
o si eres un desarrollador de java (instala el sdk y srcs):
Y configúrelo como los programas predeterminados con:
fuente
default-jre
paquete para señalar Sun-Java esta noche. Ahora mismo soy @ trabajo.El
.jdk1.6.0_23.jinfo
archivo debe ser una lista de los programas suministrados y sus rutas. Hay un encabezado descriptivo seguido de una línea en blanco. Luego, una lista de los programas en un formato de tres campos: tipo de entrada (jre / jkd / plugin); nombre del programa; y camino. Debería tener algunos archivos jinfo que pueda usar para ver cómo debe verse el contenido. Es probable que esto sea utilizado por el mecanismo de alternativas para determinar qué enlaces crear. El jefe de mi paquete de Sun es.Si desea anular los comandos Java predeterminados sin utilizar el mecanismo de alternativas, coloque su ruta Java delante de / usr / bin en su ruta.
Cuando hago una instalación manual, instalo Java en
/opt
. para su instalación me habría instalado en/opt/jdk1.6.0_23
. Luego puse el camino$JAVA_HOME/bin
al comienzo de miPATH
variable.EDITAR: Este es todo el archivo Sun. La nota
.java-6-sun.jinfo
es un enlace simbólico a.java-6-sun-1.6.0.22.jinfo
.fuente
Eliminar openjdk e icedtea:
agregue lo siguiente a /etc/apt/sources.list
instalar Sun / Oracle JRE o JDK:
fuente
¿Lo comprobaste?
Si no lo necesita: desinstale openjdk y gcj en synaptic o con apt-get.
Entonces prohibiría a Java las alternativas, y haría sobre todo como sugirió BillThor, por qué le di un voto positivo.
debe señalar dónde instaló Java y dónde se encuentra en la RUTA.
fuente
which
comandos y no imprime nada. Descubrí que olvidé el símbolo $ antes de la variable JAVA_HOME en PATH, reiniciaré ahora y veré cómo funciona.which
comando aún no muestra nada. Las variables JAVA_HOME y PATH son correctas: echo $ JAVA_HOME /usr/lib/jvm/jdk1.6.0_23 echo $ PATH $ JAVA_HOME / bin: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games ¿Dónde podría estar el problema? Editar: DIOS MALDITO, ¿por qué no hay saltos de línea en los comentarios?echo $PATH $JAVA_HOME/bin:/usr/local/sbin...
pero en el resultado se debe evaluar $ JAVA_HOME: hay algo mal o su informe es erróneo. c) Saltos de línea: no están allí, por lo que constantemente presionamos ENTER demasiado pronto, y luego el reloj avanza, porque la edición es solo por unos minutos permitidos, constantemente me meto en esa trampa. ¡Lo odio! :)echo $JAVA_HOME
echo $PATH
Imprime$JAVA_HOME...
o imprime el valor de JAVA_HOME, es decir/usr/lib/jvm/jdk1.6.0_23
:?java -version
en shell (solo mostrará Sun java)sudo update-java-alternatives -l
y solo funciona si tienes dos jdk instalados y quieres configurar sun-java como entorno predeterminado
fuente
Usando Ubuntu 10.10, parece que necesita marcar para eliminar libaccess-bridge-java primero en Synaptic, y luego marcar openjdk-6-jre-headless.
Terminé con una lista para eliminar:
Esto funcionó pero dejó un directorio
/etc/java-6-openjdk
atrás con una variedad de archivos y subdirectorios dentro, que aislé en un nuevo directorio. No ha habido efectos inusuales, por lo que presumiblemente es solo un remanente sobrante.Esto me dejó con el Java que había descargado directamente del sitio web de Java. Sin embargo, a pesar de haberlo configurado como predeterminado y crear el enlace al directorio de complementos de Firefox, ya no funcionaba. Al instalar sun-java6-jre y sus paquetes asociados gsfonts-x11, odbcinst, odbcinst1debian2, sun-java6-bin y unixodbc, a través de Synaptic, el complemento de Java comenzó a funcionar nuevamente. Eliminar el enlace en el directorio de complementos y reemplazarlo con el archivo libnpjp2.so real no funcionó. El uso de un enlace a los archivos libjavaplugin_oji.so en los directorios ns7 o ns7-gcc29 en Java instalado a través de Synaptic tampoco funcionó. Esto me sugiere que para obtener el último complemento de Java en Firefox se pueden seguir las instrucciones en el sitio web de Java, y que se necesita el Java Java integrado de cualquier variedad que esté presente para ejecutar el Java descargado, que luego depende de su funcionamiento en los archivos que lo rodean una vez que se ha activado el complemento. Si bien se necesitaría una comprensión completa del código que comprende Java y Linux para resolver realmente sus misterios, tal vez estos experimentos sean útiles para encontrar las razones por las que se pueden necesitar dos Java en este caso. Al menos también es posible eliminar todo Java, si a alguien le resulta útil hacerlo.
fuente
Lo que hago en las nuevas máquinas Ubuntu 10.10 es
Entonces está bien para mí, no más dependencias de openJDK
fuente
Las respuestas dadas a esta pregunta no me funcionaron. Es decir, lo siguiente falló:
Con el error:
Pruebe estas instrucciones , en su lugar:
icedtea-6-jre-cacao
), si está instalado.El OpenJDK (IcedTea) ahora está instalado, lo que debería permitirle (si tuvo este error) continuar instalando el JDK de Oracle sin error.
Ver también:
fuente
Primero: elimine el complemento openjdk e icedtea.
Segundo: copie el archivo .bin jdk a / opt o / usr / java y extráigalo.
Tercero: ponga un enlace del archivo java a / usr / bin /
Actualice las alternativas utilizando las alternativas de actualización
Cree un enlace simbólico al complemento de Java en el directorio de complementos de Firefox.
Cree un enlace simbólico al archivo libnpjp2.so de Java Plugin en el directorio de complementos de Firefox:
Espero que esto ayude.
fuente