Java/es

Esta guía tiene como objetivo presentar Java al lector y explicar como utilizar Java en Gentoo Linux.

Visión general
Java es un lenguaje de programación desarrollado por ingenieros de Sun Microsystems. El lenguaje es totalmente orientado a objetos y diseñado para ser ejecutado en múltiples plataformas sin la necesidad de recompilar el código para cada una de ellas. Aunque Java puede ser compilado como un lenguaje nativo, mucha de la popularidad de Java se atribuye a su portabilidad, junto con otras características como recolección de basura. Para hacer posible esta independencia de plataforma, el compilador de Java compila el codigo Java hacia una representación intermedia denominada "Java bytecode" que es ejecutado en un JRE (Java Runtime Environment) y no directamente sobre el sistema operativo.

Para ejecutar Java bytecode, es necesario tener un entorno JRE (Java Runtime Environment) instalado. Un JRE proporciona bibliotecas centrales, una maquina virtual de Java dependiente de plataforma, y extensiones para navegadores web entre otras cosas. Por otro lado un JDK (Java Development Kit) agrega herramientas de programación, tales como compilador de bytecode y un depurador de codigo.

Opciones
Gentoo proporciona una variedad de entornos de ejecución (JREs) y kits de desarrollo (JDKs). Las opciones actuales incluyen:

Instalando un JRE/JDK
Para instalar el JDK por defecto del perfil lance emerge virtual/jdk. O lance emerge virtual/jre para instalar el JRE por defecto del perfil.

To install the profile's default JRE run:

Algunos JDKs y JREs, incluyendo los paquetes de Sun, requieren que el usuario acepte un Acuerdo de Licencia de Usuario o Eula. En el caso que esta licencia (por ejemplo dlj-1.1) no este incluida en la variable  dentro de  no será posible instalar el JDK/JRE. Para mayor información de como agregar licencias aceptadas en puede consultarse el capítulo de licencias del manual de Portage.

Para evitar cualquier restricción de licencias, considérese instalar icedtea-bin, el cual es una implementación abierta de Java del proyecto OpenJDK.

Instalando maquinas virtuales con descarga restringida
Algunos JDKs y JREs necesitan unos pasos adicionales para realizar sus configuraciones. Hacer emerge de los paquetes tal y como se realiza normalmente. Si son necesarios pasos adicionales, los ebuilds ofrecerán instrucciones para los usuarios acerca de dónde ir y qué descargar.

Descargar el archivo o archivos indicados en. Una vez los archivos están en el lugar indicado, lanzar de nuevo la orden emerge. En este punto la instalación de JRE/JDK se iniciará.

Configurar un JRE sin monitor ni teclado
Sometimes there is no need for a full JRE with all the capabilities of java. Using java on a server often does not require any GUI, graphical, sound or even printer related features. To install a simplified (sometimes also referred to as headless) JRE, a few USE flags need to be changed.

Dependiendo del perfil de Gentoo actual, este podría ser el caso. Como es habitual, se pueden comprobar los ajustes USE que se aplican a un determinado paquete lanzado emerge en el modo pretensión:

Visión general
Gentoo posee la habilidad de instalar multiples JDKs y JREs sin causar conflictos.

Using the tool with root privileges, a system-wide default java virtual machine (VM) can be set. Users can also use java-config to custom set their personal VM on a user-by-user basis.

Estableciendo una maquina virtual por defecto
Al lanzar la orden java-config --list-available-vms se mostrará una lista de los JREs y JDKs instalados en el sistema. A continuación se muestra un ejemplo de esta salida:

The * indicates this is the current active JVM (system-vm or user-vm when set). The name in the brackets ([]) is the handle or ID for that particular VM. The handle or the number to can be used to set the VM. The following text provides an example of how to set the system VM.

Estableciendo la maquina virtual manualmente (modo preferido):

Método alternativo: seleccionar la máquina virtual por número:

Como usuario normal, utilizar java-config.

Maquina virtual marcada como Build Only
Some virtual machines are flagged as build-only due to being EOL and/or containing security vulnerabilities. These virtual machines will not automatically be used by Gentoo for the running of applications using Gentoo launchers (run-java-tool script designed for switching VMs), but will still be available for use by Gentoo's build environment as some packages may require them for building. The setting of these virtual machines as either the system or user VM is strongly discouraged as these VMs will then be used when running the executables, as well as used by any packages not using Gentoo's launcher scripts.

Maquina virtual preferida para compilación
Al instalar paquetes Java, la máquina virtual utilizada puede ser diferente de la configurada actualmente como máquina virtual del sistema.

This merge time VM switching is needed when, for example, the system-vm is set to a 1.6 VM and the package being merge requires a 1.5 VM. While merging it will select and use a 1.5 VM, leaving the system-vm choice intact.

To define which VM is selected when a switch is needed, a list of default/supported VMs per arch has been created. It can be found in.

These defaults can be over written (even the selected system VM) in for complete control over which VM will get used for merging.

For example, to always use a sun-jdk:

Or, to always use sun-jdk-1.5 wherever possible, except for when a 1.4 or 1.3 VM is explicitly required:

Or to use different providers for different versions, such as requiring  if a 1.3 (yes, 1.3) VM is asked, and fall back to ibm-jdk-bin otherwise:

Compiladores
The standard Java compiler used for building is, which comes with each JDK. In addition to configuring the VM used at build time, it is also possible configure which compiler is used. Essentially, define a list with preference for which compiler to use in.

Some compilers do not support all possible  and   arguments. Therefore, each compiler in the list is checked to see if it can support the desired /. javac will work in all cases, so if no other suitable compiler is found, it will be used instead.

Más detalles acerca de los compiladores son descritos a seguir:

Estableciendo un CLASSPATH por defecto
can also be used to set a system-wide default CLASSPATH, as well a user-specific default CLASSPATH.

First, list available Java libraries installed on the system to possibly put in the CLASSPATH variable. Here is an example of output:

Again, the names in brackets ([]) are the IDs to pass to. Here is an example:

Update the environment by logging out, then in again or by typing

For users, java-config --set-user-classpath will create, which should then source from the shell's profile.

If desiring a system wide or user default classpath add something like the following to the shell's profile. This is advised against:

Instalando un complemento
Es posible instalar complementos Java para navegadores web haciendo emerge de una máquina virtual Java con el ajuste USE  habilitado.

Portage will allow installations of multiple Java plugins versions, though only one will be used by the web browser. Check the list of available plugins by running:

In this example, is selected for the browser plugin.

Luego, se verifica si el complemento correcto fue seleccionado:

Java.com also provides a link to verify the installed plugin. Additionally, if a Mozilla-based browser is being used, verification of the Java plugin can be performed by typing into the address bar.

Complementos en sistemas multilib
If running a mixed 64-bit and 32-bit multilib system (for example, on ), use both 64-bit and 32-bit Java plugins. Unless there is a pressing need to run 32-bit Java applications, users have been recommended to use native 64-bit plugins on 64-bit web browsers.

There are several native 64-bit browser plugins available. The default JDK/JRE pair,  and , both include browser plugins. Just emerge one of them with  USE enabled.

To use a 32-bit plugin on a 32-bit browser, the package will need to be emerged with   USE enabled.

Luego, deben verificarse cuales complementos están disponibles:

Now select the right plugin for the browser:

Por ultimo, debe verificarse que el complemento correcto haya sido seleccionado:

Establecer los ajustes USE
Para más información acerca de las USE flags, puede consultarse el capitulo sobreajustes USE en el manual de Gentoo.

Los ajustes USE

 * El ajuste USE  agrega soporte Java a diversos programas.
 * El ajuste USE  agrega soporte a navegadores basados en Mozilla (incluyendo Firefox). Esto es necesario para ver applets Java en navegadores basados en Mozilla.
 * El ajuste USE  instala un archivo zip con el codigo fuente del paquete. Este código es tradicionalmente usado por los entornos de desarrollo para 'adjuntar' el código de las bibliotecas que se están utilizando.
 * El ajuste USE  agrega soporte para el motor de criptografía de Java.
 * Para paquetes Java, el ajuste USE  compila la documentación utilizando para ello javadoc.

Following USE flags go in JAVA_PKG_IUSE.
 * The flag installs a zip of the source code of a package. This is traditionally used for IDEs to 'attach' source to the libraries that are being use;
 * For Java packages, the flag will build API documentation using javadoc.

Ver también

 * The Java User Guide in the Java project

Recursos externos

 * The gentoo-java, gentoo-user, and gentoo-dev mailing list archives
 * and on IRC
 * Java 7 and bootstrapping icedtea on the Gentoo forums

Se puede encontrar más información fuera de línea:
 * man java-config
 * java-config --help



Para aportar sugerencias o realizar preguntas acerca de este documento, por favor envíe un mensaje de correo electrónico al equipo Java de Gentoo: