#language es ~-[[es/DebianWiki/EditorGuide#Traducción|Traducción(es)]]: [[JavaPackage|English]] - español-~ ---- '''NOTA''': * Debian recomienda el uso de paquetes OpenJDK ([[DebianPkg:openjdk-7-jdk]] / [[DebianPkg:openjdk-7-jre]]) en vez de los paquetes no libres creados por esta utilidad. ---- DebianPkg:java-package provee la capacidad de construir un paquete Debian desde una distribución binaria Java mediante la ejecución de {{{make-jpkg }}} (con ficheros de archivo descargados desde los proveedores abajo listados). Caso que tu interés fuera más por el desarrollo de Java bajo Debian, entonces sigue el enlace [[es/Java]]. Para aprender más sobre el empaquetamiento de programas escritos en Java y librerías para Debian, véase [[es/Teams/JavaPackaging]]. El paquete incluye la orden [[DebianMan:1/make-jpkg|make-jpkg]] para hacer esto. El uso típico consiste en: * descargar uno de los archivos binarios de java listados abajo * invocar make-jpkg para construir un paquete Debian desde el archivo descargado * instalar el paquete generado Las distribuciones binarias de Java que se soportan actualmente incluyen: * Oracle (http://www.oracle.com/technetwork/java/javase/downloads): * El Kit de Desarrollo Java (JDK), versión 6, 7 y 8 * El Entorno de Ejecución Java (JRE), versión 6, 7 y 8 * Los Java API Javadoc, versión 6, 7 y 8 == Proceso == 1. Añade un componente "contrib" en {{{/etc/apt/sources.list}}}, por ejemplo: {{{ # Debian 8 "Jessie" deb http://httpredir.debian.org/debian/ jessie main contrib }}} 1. Actualiza la lista de paquetes disponibles e instalar el paquete DebianPkg:java-package : {{{ # apt-get update && apt-get install java-package && exit }}} 1. Descarga la distribución binaria Java JDK/JRE deseada ([[http://www.oracle.com/technetwork/java/javase/downloads|Oracle]]). Escoge archivos tar.gz o archivos autoextraíbles, __no__elijas__ el RPM! 1. Usa java-package para crear un paquete Debian, por ejemplo: {{{ $ make-jpkg jdk-8u51-linux-x64.tar.gz }}} 1. Instala el paquete binario creado: {{{ $ su # dpkg -i oracle-java8-jdk_8u51_amd64.deb }}} == Configuración == Por defecto las DebianAlternatives instalarán automáticamente la mejor versión de Java como la versión principal. Si los enlaces symlinks se han construido manualmente, quedarán preservados por las herramientas. Las herramientas update-alternatives intentarán duramente respetar la configuración explícita del administrador local. Local manual symlinks locales manuales aparentan ser configuración explícita. De modo que se restablezcan los symlinks alternativos a sus valores por defecto usa la opción {{{--auto}}} . {{{ # update-alternatives --auto java }}} Si quisieras sobrescribir lo básico para quizá usar una versión específica entonces usa {{{--config}}} y selecciona manualmente la versión deseada. {{{ # update-alternatives --display java # update-alternatives --config java }}} Escoge el numero apropiado de la alternativa deseada. El binario apropiado de java estará automáticamente en el PATH por virtud del symlink alternativo {{{/usr/bin/java}}} . puedes usar la herramienta update-alternatives del paquete DebianPkg:java-common que te deja actualizar todas las alternativas pertenecientes a un kit runtime/development cada vez. {{{ # update-java-alternatives -l # update-java-alternatives -s jdk-8-oracle-x64 }}} == Solución de problemas == === El proceso de construcción sigue cascando en el objetivo override_dh_shlibdeps === Este problema se debe a que hay dependencias incumplidas del paquete {{{java-package}}} (problema relacionado: DebianBug:782132). Para arreglarlo simplemente ejecuta como root: {{{ # apt-get install libgl1-mesa-glx libfontconfig1 libxslt1.1 libxtst6 libxxf86vm1 libgtk2.0-0 }}} === Construir Oracle Java 6 Desde jdk-6u45-linux-x64.bin === *El Objetivo que falla es {{{override_dh_shlibdeps}}} igual que arriba *Las versiones 0.56 y 0.61 de {{{java-package}}} ambas tienen *{{{Build-Depends: debhelper (>= 9), libasound2, libgl1-mesa-glx, libgtk2.0-0, libxslt1.1, libxtst6, libxxf86vm1}}} *pero omiten {{{libxt6}}} *{{{libfontconfig1}}} de arriba no es requisito *La construcción requiere: {{{ # apt-get install libgl1-mesa-glx libgtk2.0-0 libxslt1.1 libxtst6 libxxf86vm1 libxt6 }}} === Construir Oracle Java 8 en wheezy === En ejecutando {{{make-jpkg}}} en wheezy (i686) puedes obtener este mensaje:{{{ notroot@debian:~$ fakeroot make-jpkg /home/notroot/jdk-8u101-linux-i586.tar.gz Creating temporary directory: /tmp/make-jpkg.dUA0X8ychf Loading plugins: /usr/share/java-package/common.sh /usr/share/java-package/j2re.sh /usr/share/java-package/j2sdk-doc.sh /usr/share/java-package/j2sdk.sh /usr/share/java-package/j2se.sh /usr/share/java-package/oracle-j2re.sh /usr/share/java-package/oracle-j2sdk-doc.sh /usr/share/java-package/oracle-j2sdk.sh Detected Debian build architecture: i386 Detected Debian GNU type: i486-linux-gnu No matching plugin was found. Removing temporary directory: done }}} Esto puede arreglarse instalando las versiones backports del java-package. {{{apt-get install -t wheezy-backports java-package}}} instala el paquete si los backports están correctamente configurados. (idea basada en [[https://bugs.debian.org/750092#15|bug #750092]]) ---- CategoryJava