# Java (Español)

From ArchWiki
Jump to navigation Jump to search
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.

Este artículo o sección necesita ser traducido.

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 jre7-openjdk jdk7-openjdk openjdk7-doc openjdk7-src

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:

- jre7-openjdk, jdk7-openjdk, y jre7-openjdk-headless deben ser marcados como antiguos de acuerdo a la versión de IcedTea (v.g. `2.4.3`), y no a la versión de referencia de la empresa Oracle (v.g. `u45` en el lanzamiento `7.u45_2.4.3-1`).
- icedtea-web, este paquete debe ser marcado como antiguo basado en la versión de IcedTea Web (v.g. `1.4.1`). Esta es independiente de la versión de IcedTea.

## 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 "$@"

Categories:

- Programming languages (Español)
- Oracle (Español)

Hidden categories:

- Pages or sections flagged with Template:Translateme (Español)
- Pages with broken package links