Instalar JAVA en Ubuntu

Debido a diversos motivos que no se expondrán en este artículo me he visto obligado a desarrollar ciertas aplicaciones en JAVA, por todos es bien sabido que JAVA es un formato restrictivo, a pesar del formato abierto del API en sí, hasta ahora las únicas implementaciones de JAVA en GNU/Linux con una amplia compatibilidad se derivan de la implementación de Sun Microsystem, ésta implementación lleva consigo términos de licencias no libres.

A pesar de la existencia de proyectos que buscan crear implementaciones libres de JAVA, estos aún no son comparables en rendimiento, acabado y compatibilidad con la implementación de Sun Microsystem.

Estos proyectos son:

Así que procederé a describir el método más elegante que he encontrado hasta ahora para instalar la implementación de JAVA de Sun Microsystem.

Obtenga la versión más reciente del fichero binario desde la página de descargas de Sun. Seleccione cualquiera de los enlaces de acuerdo a sus necesidades, ya sea para JDK o JRE. Recuerde que JDK soporta la creación de aplicaciones para plataforma de desarrollo J2SE, es decir, ideal para desarrolladores, mientras que JRE permite a los usuarios finales ejecutar aplicaciones JAVA.

Una vez culminada la descarga, ejecute las siguientes sentencias:

$ sudo apt-get install java-package fakeroot
$ fakeroot make-jpkg jdk-1_5_0_02-linux-i586.bin
$ sudo dpkg -i sun-j2sdk1.5_1.5.0+update02_i386.deb

Es importante aclarar que en las sentencias anteriores se asume que el paquete descargado ha sido el jdk-1_5_0_02-linux-i586.bin, evidentemente usted debe sustituir el nombre del paquete por el cual corresponda.

Si desea verificar la correcta instalación de JAVA, proceda de la siguiente manera:

$ java -version

Después de la sentencia anterior usted debe recibir un mensaje similar al siguiente:

java version "1.5.0_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_02-b09)
Java HotSpot(TM) Client VM (build 1.5.0_02-b09, mixed mode, sharing)

Lo anterior solo ha sido probado bajo Ubuntu Linux versión Hoary y Breezy. Una pequeña nota antes de culminar, en el caso de aparecerle el mensaje /java-web-start.applications: Permission denied mientras contruye el paquete .deb, no tiene mayor relevancia, puede ser ignorado.

Nota para los usuario de Breezy

Si al ejecutar el comando java -version obtiene algo similar a lo mostrado a continuación:

$ java -version
java version "1.4.2"
gij (GNU libgcj) version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9)

Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

No se preocupe, simplemente cambie la versión de JAVA por omisión, para ello lea el artículo Como cambiar entre versiones de JAVA bajo Breezy.

Referencias:

  • http://tecno4all.blogspot.com/ Edwood Ocasio

    Saludos.

    Simpatizo con tu visión sobre Java y añadiría que correr sus aplicaciones muchas veces no es un asunto trivial. Sólo programamría en el si no quedara más remedio.

    Mi verdadero objetivo en este comentario es mencionar la existencia de SNAPPIX, una distribución “Live CD” de KNOPPIX para desarrolladores en Java, en especial estudiantes. El url es SNAPPIX
    Suerte.

  • http://milmazz.com MilMazz

    Gracias por el aporte Ocasio. Ya probaré la distro que propones en los próximos días para ver su desempeño.

  • cut0ff

    hola podrias indicar que ventajas se obtienen siguiendo el metodo que expones en lugar de instalar via apt el paquete ‘sun-j2sdk1.5′ (o sun-j2re1.5) especificos de ubuntu?

  • http://milmazz.com MilMazz

    cut0ff, primero que nada, gracias por la intervención. Respondiendo a tu pregunta considero que el método que mencionas realmente es el más sencillo (salvo una excepción), ello no implica que sea el más correcto, te explico porque considero esto.
    1.- Si leemos detenidamente la licencia que aplica al binario de proporcionado por Sun, nos damos cuenta que no se le puede hacer ninguna modificación, partiendo de este punto quizás sea más conveniente “transformar” el paquete de manera individual que estar distribuyendo el .deb a través de algún repositorio.
    2.- Estamos construyendo nuestro paquete, en mi caso, el simple hecho de construir las cosas me sube el autoestima :D
    3.- Haciendo uso de fakeroot no “molestamos” algunas librerias del sistema, he leido de algunos casos en los cuales no se recomienda construir el .deb de dicho binario en Debian de la manera usual, si no que es más conveniente hacerlo a traves de fakeroot.
    4.- La única excepción que encuentro a tu proposición en cuanto a la facilidad de instalación es que necesariamente debo dedicar cierto tiempo a investigar que repositorio contiene el paquete .deb en cuestión, quizá esto no genere una pérdida de tiempo considerable, pero es más fácil desde mi punto de vista el recordar el sitio oficial para la descarga del binario que ofrece Sun.
    Naturalmente los puntos mencionados anteriormente son solo mis puntos de vista, cualquier corrección es bienvenida para mejorar esta discusión :)

  • http://cut0ff.blogsome.com cut0ff

    Ok pues siguiendo tus consejos voy a instalar de esta forma y comparar los resultados. Por cierto ¿este metodo instala el plugin para Firefox?

    Un saludo

  • Jaime

    Estuve probando lo que dice aca pero sale que el paquete no existe :

    E: No se pudo encontrar el paquete java-package-0.14

    ese paquete lo descarge y lo descomprimi en el escritorio, ejecuto esa linea en la terminal logicamente ubcandome en el escritorio y aun asi me sigue con el mismo error, nose que pasa. les agradesco su ayuda.

  • http://blog.milmazz.com.ve MilMazz

    Hola Jaime, si estas en Ubuntu debes agregar el repositorio multiverse al fichero /etc/apt/sources.list. Luego debes actualizar la lista de paquetes (sudo aptitude update), después de eso puedes continuar con los pasos que indico en el artículo.

    Si tienes alguna otra duda y puedo ayudarte al respecto, no temas en preguntar.

  • Sergio

    Hice todo lo que pusiste, y si descargo la Máquina Virtual, pero quiero compilar unos programas, y no puedo, el javac, no está, bueno solo se puede usar desde la carpeta donde están los binarios, java, y no desde la carpeta que los creo.
    Si tienes una solución a esto porfa escribeme, que me urge saber, se supone que es una tarea para la escuela y no he podiddo entregarla
    Gracias
    BYE

  • http://blog.milmazz.com.ve MilMazz

    ¿Verificaste que la instalación había sido satisfactoría?, ¿ejecutaste el comando java -version y te dio una respuesta?, ¿cómo estas ejecutando los programas?. Necesito más información, ¿estas usando algun IDE como el eclipse para desarrollar tus programas?

  • Luis

    Ya baje la version JRE para ver aplicaciones, pero al dar el primer comando me dice que Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias… Hecho
    E: No se pudo encontrar el paquete java-package

    Gracias por sus comentarios!

  • http://blog.milmazz.com.ve MilMazz

    Creo que no leiste detenidamente los comentarios anteriores, revisa esta respuesta, espero quede claro.

  • Vake

    Hola, estoy en las mismas intentando instalar, pero una pregunta… esto del multiverse donde se debe poner, y que direccion completa es? Gracias

  • http://milmazz.com MilMazz

    Solo debes incluir una línea en el fichero /etc/apt/sources.list, dicha línea es la siguiente: deb http://archive.ubuntu.com/ubuntu hoary multiverse. Recuerda, el cambio del fichero mencionado previamente debes hacerlo como superusuario. Espero te sirva la información.

  • http://alternativoreal.blogspot.com samuel

    al hacer java -version me dice:
    java version “1.4.2″
    gcj-4.0 (GCC) 4.0.0 20050301 (prerelease) (Debian 4.0-0pre6ubuntu7)
    Copyright (C) 2005 Free Software Foundation, Inc.
    Esto es software libre; vea el código para las condiciones de copia. NO hay
    garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÓSITO EN
    PARTICULAR

    se supone que instale el JDK1.5.0-05
    ¿no deberia decir eso?
    el JRE funciona OK en Firefox… y tengo Eclipse que funciona bien…solo he tenido problemas para algunos plugins…al parecer es con la GTK pues auqellos que tienen instalacion grafica se caen… como el OmondoUML que baja un .jar
    saludos.

  • http://blog.milmazz.com.ve MilMazz

    Hola Samuel, estas seguro que seguiste los pasos que indico?, tenias instalada previamente alguna version del JDK? por lo que indica el mensaje tienes una versión pre-empaquetada de ubuntu. Estas en Breezy?, si es así avisame.

  • jordilin

    Samuel, para escoger el 1.5 debes hacer sudo update-alternatives –config java i escoger la versión que acabas de instalar.

  • http://www.wikier.org/ Wikier

    Esto no es nuevo, hace ya bastante tiempo que Fowler comentó como hacerlo en Debian

  • mduran

    Excelente, los mismos pasos para crear el deb en amd64 ya que no estan en los repositorios,
    De paso indicar que tambien es aplicable al archivo de documentacion
    jdk-1_5_0-doc.zip

    Saludos

  • http://unavidaejemplar.blogsome.com diego

    Solo una cosa, me dio problemas al hacerlo en la carpeta My downloads, al haber un espacio chiflaba. Al moverlo al home a pelo si que funciono.

  • Jose

    Tengo varios dias ya con este problema no se si alguien me puede ayudar al utilizar el apt-get install algun_archivo , me da el siguiente error

    E: El paquete jre necesita ser reinstalado, pero no se encuentra un archivo para éste.
    y ya modifique el source.list
    y cuando le doy java -version me sale esto
    java version “1.5.0_04″
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
    Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
    que creo que es lo correcto

    por si alguien me puede ayudar
    gracias

  • http://blog.milmazz.com.ve MilMazz

    Hola Jose, el mensaje de respuesta al comando java -version es correcto. Ahora bien, solo tengo dos preguntas, tu haz construido el paquete .deb como explica este artículo o simplemente lo obtienes de un repositorio?, intentaste desinstalar y reinstalar el paquete?

  • Alex

    Buena guia. He seguido los pasos y no he tenido ningún problema, al final me sale la versión correcta (1.5.0). El problema viene ahora, cuando quiero hacer el enlace al plugin para FireFox no lo encuentro. Y no sólo no encuentro el plugin, sino que en /usr/java no hay ningún directorio. Los únicos directorios que encuentro relacionados con java son /usr/lib/j2re1.5-sun y /usr/lib/jvm/j2re1.4.2-cgj…
    Si alguien me puede echar una mano se lo agradezco :)

  • Jorge

    Hola

    instale j2eesdk-14 en Fedora core 3 y se me lleno el disco duro, como lo puedo desinstalar? soy nuevo en esto y gracias de antemano.

  • http://blog.milmazz.com.ve MilMazz

    Jorge:
    La desinstalación de un rpm debe seguir más o menos la siguiente sintaxis.
    rpm -e aplicacion

    Alex:
    Que método seguiste para la instalación de Firefox 1.5? Te recomiendo hacerlo siguiendo las indicaciones para instalar la versión 1.5 de Mozilla Firefox

  • overmind

    tengo un problemas, ya descargue el paquete java. cuando doy el primer comando me dice que no se puede encontrar el java pakage :

    root@kubuntu:/home/overmind # sudo apt-get install java-package fakeroot
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias… Hecho
    E: No se pudo encontrar el paquete java-package
    root@kubuntu:/home/overmind #

    lei mas arriba que tienes que agregar una linea al source.list y lo hice de esta manera

    # deb http://archive.ubuntu.com/ubuntu

    pero me sigue dando el mismo mensaje …

    nota : soy usuario newbie en esto de linux .. trabajo con linux por rimera vez , es ubuntu la distribucion.

    gracias.

  • http://blog.milmazz.com.ve MilMazz

    overmind, la línea que debes descomentar en tu fichero /etc/apt/sources.list es esta:
    deb http://archive.ubuntu.com/ubuntu breezy multiverse

  • Eduardo

    hola la linea mas parecida a descomentar que tengo es :

    deb-src http://co.archive.ubuntu.com/ubuntu breezy-backports main restricted universe multiverse

    y al hacerlo de todas formas no me funciona la forma de instalar java con el comando:

    $ sudo apt-get install java-package fakeroot

    me sale el siguiente error:
    Leyendo lista de paquetes… Hecho
    Creando árbol de dependencias… Hecho
    E: No se pudo encontrar el paquete j2eesdk-1_4_03-linux.bin

  • http://instalarjava isa martinas ovalle saen

    quiero que me istale el java

  • zumo de vidrio

    He instalado el j2sdk 1.4.2 y no me encuentra el comando javac para compilar un programa, digamos:

    $ javac Ejemplo.java
    bash: javac: command not found

    He editado varias veces el bashrc con lineas que me he encontrado por internet pero sigo en el mismo problema, asi que lo he vuelto a dejar tal como estaba.
    saludos.

  • Ricardo

    Hola.
    Al final agregue estos dos repositorios y encontro java-package

    por fin!!!!

    deb http://cl.archive.ubuntu.com/ubuntu hoary-backports main restricted universe multiverse
    deb-src http://cl.archive.ubuntu.com/ubuntu hoary-backports main restricted universe multiverse

    Después segui los pasos y todo salio perfect. =) ya está andando okey.

    gracias por la ayuda!!!

  • Fidel

    A mi me dice lo siguiente:

    fidel@fidelove:~$ fakeroot make-jpkg j2eesdk-1_4_03-linux-ml.bin
    Creating temporary directory: /tmp/make-jpkg.XXXX5p98ic
    Loading plugins: blackdown-j2re.sh blackdown-j2sdk.sh common.sh ibm-j2re.sh ibm-j2sdk.sh j2re.sh j2sdk.sh j2se.sh sun-j2re.sh sun-j2sdk.sh

    No matching plugin was found.
    Removing temporary directory: done
    fidel@fidelove:~$ fakeroot make-jpkg jdk-1_5_0_06-linux-i586.bin
    Creating temporary directory: /tmp/make-jpkg.XXXXlvBJyH
    Loading plugins: blackdown-j2re.sh blackdown-j2sdk.sh common.sh ibm-j2re.sh ibm-j2sdk.sh j2re.sh j2sdk.sh j2se.sh sun-j2re.sh sun-j2sdk.sh

    No matching plugin was found.
    Removing temporary directory: done
    fidel@fidelove:~$

    Puede tener algo que ver que lo este instalando en un mac???

  • Fidel

    A mi me dice lo siguiente:

    fidel@fidelove:~$ fakeroot make-jpkg jdk-1_5_0_06-linux-i586.bin
    Creating temporary directory: /tmp/make-jpkg.XXXXlvBJyH
    Loading plugins: blackdown-j2re.sh blackdown-j2sdk.sh common.sh ibm-j2re.sh ibm-j2sdk.sh j2re.sh j2sdk.sh j2se.sh sun-j2re.sh sun-j2sdk.sh

    No matching plugin was found.
    Removing temporary directory: done
    fidel@fidelove:~$

    Puede tener algo que ver que lo este instalando en un mac???

  • Oscar

    Como puedo compilar java??
    Hola a todos, como puedo compilar un programa en java, ya que intente hacerlo con el comando “javac” pero resulta que no reconoce el comando. como compilo??

  • Henry

    Como compilo un programa ya instale el jdk-1_5_0_06-linux y modifique las rutas tanto las de el .bashrc y el environment pero no me reconoce el comando de javac

  • dacruzcal

    He conseguido llegar hasta el paso “fakeroot make-jpkg jdk-1_5_0_02-linux-i586.bin” pero me dice que el fichero jdk-1_5_0_08-linux-i586.bin no existe, lo tengo en el escritorio y tambien en una carpeta del escritorio.
    Soy nuevo en esto de linux aunque estoy dispuesto a migrar a el totalmente en cuanto le coja el tranquillo.
    Gracias
    Damián

  • http://www.covarianza.blogspot.com Joaquin

    Saludos cordiales. Gracias por el metodo. Pude instalarlo sin problemas.

    Atentamente,

    Joaquin

  • Sisco

    Buenas mirad tengo un problema tengo los repositorios bien??:

    deb http://archive.ubuntu.com/ubuntu breezy multiverse
    deb-src http://archive.ubuntu.com/ubuntu breezy multiverse

    estoy usando ubuntu 6.06 LTS

    Si no esta bien a ver si me podeis ayudar

    Gracias de antemano :)

  • bedo3887

    Hola amigos , tengo un problema cuando ejecuto
    fakeroot make-jpkg jdk-1_5_0_09-linux-i586.bin

    me sale lo siguiente

    # fakeroot make-jpkg jdk-1_5_0_09-linux-i586.bin
    You are real root — unfortunately, some Java distributions have
    install scripts that directly manipulate /etc, and may cause some
    inconsistencies on your system. Instead, you should become a
    non-root user and run:

    fakeroot make-jpkg jdk-1_5_0_09-linux-i586.bin

    which will allow no damage to be done to your system files and
    still permit the Java distribution to successfully extract.

    Aborting.

    Agradezco su ayuda de antemano

  • http://blog.milmazz.com.ve MilMazz

    Hola bedo3887,

    Debes ejecutar el comando fakeroot make-jpkg jdk-*.bin como usuario normal y no como root. Se te está diciendo que desafortunadamente, algunos distribuciones de Java poseen scripts de instalación que manipulan directamente /etc (donde residen los ficheros de configuración), y esto puede crear ciertas inconsistencias en tu sistema.
    La solución es que ejecutes dicho comando sin ser superusuario.

  • joselromero

    Hola espero me puedan ayudar, he instalado el java siguiendo los pasos tal y como se indican y al verificar la versión me da el resultado deseado pero no sé como hacer que el firefox ejecute los applets entré a editar/preferencias y el java está correctamente habilitado, uso ubunto 6.06 AMD64 y firefox 2.0

  • Kary

    Hola, Instale El java y todo, según funciona bien, pero al momento de quererlo utilizar en una aplicacion me sale lo siguiente: “Exception in thread “main” java.lang.NoClassDefFoundError: JPOS/JLogin
    at gnu.java.lang.MainThread.run(libgcj.so.7)
    Caused by: java.lang.ClassNotFoundException: JPOS/JLogin
    at java.lang.Class.forName(libgcj.so.7)
    at gnu.java.lang.MainThread.run(libgcj.so.7)”

    ALGUIEN PUEDE AYUDARME POR FAVOR?????

    DE ANTEMANO, MUCHAS GRACIAS

  • http://www.ingenieblog.byethost9.com TerueL

    si les tira
    No matching plugin was found.
    Removing temporary directory: done
    deben usar la version sin netbeans

  • liferay

    Hola, alguien sabe donde esta el directorio de Java en Ubuntu, lo unico que hice para instalar es: sudo apt-get install sun-java6-jdk y nesecito el directorio para crear la variable de entorno JAVA_HOME.

  • Gabriel

    Amigo gracias por tu ayuda.
    Te cuento q google me mostró tu post en primer lugar al poner: “instalar java en ubuntu”.

    Quisiera saber si puedo hacer la instalación sin necesidad de la linea de comandos, es decir, via interfaz grafica.

    Podrias explicarme las 3 linea de comandos de instalación?
    Conozco sudo. :’(

    Sobre todo lo q es fakeroot, dpkg y make-jphg

    Gracias