Java (Español)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngEste artículo o sección necesita ser traducido.Tango-preferences-desktop-locale.png

Notas: Desactualizado. (Discusión en Talk:Java (Español)#)

Originario de Wikipedia article:

Java es un lenguaje de programación desarrollado originalmente por Sun Microsystems lanzado en 1995 como un componente central de Sun Microsystems' Java Platform. El lenguaje se deriva en gran parte de la sintaxis de C y C++ pero tiene un modelo de objetos más sencillo y menos facilidades de bajo nivel. Las aplicaciones java son normalmente compiladas en códigos de bytes que pueden correr en alguna máquina virtual java (JVM por sus siglas en inglés) independientemente de la arquitectura de la computadora.

Arch Linux oficialmente soporta el paquete de código abierto OpenJDK versión 7,8,9 y 10. Todas las JVM pueden ser instaladas sin conflictos e intercambiadas antes de usar con la ayuda de un script archlinux-java. Otros ambientes java están disponibles en AUR pero no son oficialmente soportados.

Instalación

Nota:
  • Instalar JDK automáticamente descargara la dependencia JRE.
  • Después de la instalación, el entorno de Java debe ser reconocido por la shell en la variable $PATH. Esto se puede hacer modificando /etc/profile o simplemente cerrando y abriendo la sesión de nuevo.

Dos paquetes comunes llamados java-runtime-common (contiene archivos comunes para el Runtine de un entorno de Java) y java-environment-common (contiene archivos comunes para el kit de desarrollo de Java). El archivo de entorno /etc/profile.d/jre.sh contiene un link a /usr/lib/jvm/default/bin, el cual se puede modificar con el script archlinux-java. Los links en /usr/lib/jvm/default y /usr/lib/jvm/default-runtime solo se deben modificar con archlinux-java. Este script apunta a una versión valida y sin conflictos de un ambiente de Java en /usr/lib/jvm/java-${JAVA_MAJOR_VERSION}-${VENDOR_NAME} o a un runtime de Java en /usr/lib/jvm/java-${JAVA_MAJOR_VERSION}-${VENDOR_NAME}/jre.

La mayoría de los ejecutables de Java se proveen como links directos en /usr/bin, mientras que otros están disponibles en $PATH.

Advertencia: El archivo /etc/profile.d/jdk.sh no es proporcionado por ningun paquete.

Paquetes con soporte oficial

OpenJDK 10 — La implementación de referencia de código abierto de Java SE.

https://openjdk.java.net/projects/jdk/10/ || jre10-openjdk-headless[enlace roto: package not found] jre10-openjdk[enlace roto: package not found] jdk10-openjdk[enlace roto: package not found] openjdk10-doc[enlace roto: package not found] openjdk10-src[enlace roto: package not found]

OpenJDK 9 — La implementación de referencia de código abierto de la novena edición de Java SE.

https://openjdk.java.net/projects/jdk9/ || jre9-openjdk-headless[enlace roto: package not found] jre9-openjdk[enlace roto: package not found] jdk9-openjdk[enlace roto: package not found] openjdk9-doc[enlace roto: package not found] openjdk9-src[enlace roto: package not found]

OpenJDK 8 — La implementación de referencia de código abierto de la octava edición de Java SE.

https://openjdk.java.net/projects/jdk8/ || jre8-openjdk-headless jre8-openjdk jdk8-openjdk openjdk8-doc openjdk8-src

OpenJDK 7 — La implementación de referencia de código abierto de la séptima edición de Java SE.

https://openjdk.java.net/projects/jdk7/ || jre7-openjdk-headless[enlace roto: package not found] jre7-openjdk[enlace roto: package not found] jdk7-openjdk[enlace roto: package not found] openjdk7-doc[enlace roto: package not found] openjdk7-src[enlace roto: package not found]

OpenJFX 8 — La implementación de referencia de código abierto de JavaFX. No es necesario instalar este paquete si se hace uso de Java SE. Este paquete es solo para usuarios que buscan la implementacion de codigo abierto de Java (Proyecto OpenJDK).

https://openjdk.java.net/projects/openjfx/ || java-openjfx java-openjfx-doc java-openjfx-src

Paquetes sin soporte oficial

Java SE — Implementación de JRE y JDK de la empresa Oracle.

http://www.oracle.com/technetwork/java/javase/downloads/index.html || jreAUR jre6AUR jre7AUR jre8AUR jre9AUR jre-develAUR[enlace roto: package not found] jdkAUR jdk5AUR jdk6AUR jdk7AUR jdk8AUR jdk9AUR jdk-develAUR

OpenJ9 — Implementación de JRE por Eclipse, contribuida por IBM.

https://www.eclipse.org/openj9/ || jdk8-openj9-binAUR jdk9-openj9-binAUR

IBM J9 8 — Implementación de la octava edición de JRE por IBM.

https://developer.ibm.com/javasdk/downloads/sdk8/ || jdk8-j9-binAUR

IBM J9 7 — Implementación de la séptima edición de JRE por IBM.

https://developer.ibm.com/javasdk/downloads/sdk7/ || jdk7-j9-binAUR jdk7r1-j9-binAUR

Parrot VM — Una maquina virtual con soporte experimental para Java [1] mediante dos métodos: ya sea Java VM bytecode, o como compilador de Java focalizado a Parrot VM.

http://www.parrot.org/ || parrotAUR
Nota: Versiones de 32-bit de Java SE se pueden encontrar con el prefijo bin32-, v.g. bin32-jreAUR y bin32-jdkAUR[enlace roto: package not found]. Estos usan java32-runtime-commonAUR, el cual funciona como java-runtime-common con el sufijo 32, v.g. java32. La misma analogía se aplica a java32-environment-commonAUR, que solo se usa para paquete de 32-bit de JDK.

Marcar paquetes como antiguos

Aunque las versiones de los paquetes de Arch Linux pueden contener referencia a las versiones propietarias en las cuales se basan, el proyecto de código abierto tiene su propio esquema de versiones:

Cambiar entre ambientes de JVM

El script archlinux-java provee dicha funcionalidad:

archlinux-java <COMMANDO>

COMMANDO:
	status		Lista de ambientes de Java instalados y el que esta seleccionado
	get		Responde con el nombre corto del ambiente de Java seleccionado por defecto
	set <JAVA_ENV>	Se obliga que <AMBIENTE_JAVA> sea por defecto
	unset		De-seleccionar el ambiente actual de Java
	fix		Arregla un ambiente roto/invalido de Java

Lista de ambientes de Java instalados

$ archlinux-java status

Ejemplo:

$ archlinux-java status
Available Java environments:     ### Ambientes de Java disponibles
  java-7-openjdk (default)
  java-8-openjdk/jre

Note que el (default) denota que la versión java-7-openjdk esta actualmente seleccionada por defecto. Al ejecutar java y otros binarios se usará esa instalación. También note que solo la parte de JRE de OpenJDK 8 esta instalada.

Cambiar el ambiente de Java

# archlinux-java set <AMBIENTE_JAVA>

Ejemplo:

# archlinux-java set java-8-openjdk/jre
Sugerencia: Para ver posibles nombres de <AMBIENTE_JAVA>, use archlinux-java status.

Note que archlinux-java no lo dejara seleccionar un nombre invalido. En el ejemplo anterior jre8-openjdk esta instalado pero jdk8-openjdk no, así que intentar seleccionar java-8-openjdk fallara:

# archlinux-java set java-8-openjdk
'/usr/lib/jvm/java-8-openjdk' is not a valid Java environment path  ### no es un ambiente de Java valido

De-seleccionar el ambiente actual de Java

No debería existir la necesidad de de-seleccionar un ambiente ya que el paquete que lo provee debería hacerlo. De cualquier manera, si lo desea hacer solo necesita el comando unset:

# archlinux-java unset

Arreglo un ambiente de Java

Si se ha hecho un link que no es valido en un ambiente de Java, ejecutando archlinux-java fix intenta repararlo. Nótese que si ningún ambiente esta seleccionado, este buscara nombres validos y seleccionara uno. Paquetes oficialmente soportados "OpenJDK 7" y "OpenJDK 8" tendrán preferencia y serán considerados de primero, después se consideraran los paquetes de AUR.

# archlinux-java fix

Ejecutar una aplicación con un ambiente no seleccionado de Java

Si desea ejecutar una aplicación con otra versión de Java, se puede envolver la aplicación en un pequeño script de bash que localmente cambia el PATH que Java usara. Por ejemplo, si la versión por defecto es jre7 y se desea usar jre8:

#!/bin/sh 

export PATH=/usr/lib/jvm/java-8-openjdk/jre/bin/:$PATH
exec /ruta/a/aplicación "$@"