Java/es

Java es un lenguaje de programación desarrollado originalmente por Sun Microsystems que utilizan un ejecutable para permitir correr aplicaciones desarrolladas en Java en varias plataformas. Es una opción popular para los desarrolladores que desean crear aplicaciones multiplataforma.

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 de Java (JREs) y kits de desarrollo Java (JDKs). Las opciones actuales incluyen:

Instalar un JRE/JDK
Para instalar el JDK por defecto del perfil lance:

Para instalar el perfil JRE por defecto lanzar:

Algunos JDKs y JREs, incluyendo los paquetes de Oracle, 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 ACCEPT_LICENSE 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.

Instalar la máquina virtual GCJ IcedTea
The Icedtea virtual machine is provided in source code and requires compilation by a Java bytecode compiler. This bootstrapping can be executed by the GNU Compiler for Java (GCJ). This compiler is available when GCC is built with the  USE flag.

When GCC is rebuild with this USE flag set, the package can be installed:

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. En este punto la instalación de JRE/JDK se iniciará.

Configurar un JRE sin monitor ni teclado
A veces no hay necesidad de un JRE completo con todas las capacidades (capabilities) de java. Usar java en un servidor no suele requerir ninguna GUI ni ninguna característica gráfica, de sonido o incluso de impresión. Para instalar un JRE simplificad (a veces descrito como sin interfaz), se necesita cambiar algunos ajustes USE para el tipo de JRE seleccionado.

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 en el modo pretensión:

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

Utilizando la herramienta es posible establecer una configuración para todo el sistema (requiere acceso como root). Los usuarios normales tambien pueden utilizar para establecer su propia preferencia.

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

El "*" indica cual es la JVM activa (system-vm o user-vm cuando ha sido configurada). El nombre dentro de las llaves ([]) es el identificador de la maquina virtual en particular. Se puede utilzar el ID o el número en para definir la máquina virtual. El siguiente texto ofrece un ejemplo de cómo establecer la maquina virtual para todo el sistema.

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
Algunas maquinas virtuales están marcadas como build-only ya sea por estar en el fin de su ciclo de vida de soporte y/o por contener vulnerabilidades de seguridad. Estas máquinas virtuales no serán utilizadas automáticamente por Gentoo para aquellas aplicaciones en ejecución utilizando los lanzadores de Gentoo (El guión run-java-tool se diseñó para cambiar entre MVs), sin embargo seguirán disponibles para los entornos de compilación de Gentoo ya que algunos paquetes pueden necesitarlas para ser compiladas. No se recomienda configurar estas maquinas virtuales tanto para usuario como para el sistema ya que en este caso se utilizarán al lanzar los ejecutables y también serán utilizadas por cualquier otro paquete que no utilice los lanzadores de Gentoo.

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:

Los nombres dentro de las llaves ([]) son los identificadores que se deben pasar a. Acá un ejemplo:

Actualizar el entorno reiniciando la sesión o tecleando

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:

Complementos Java para el Navegador Web
The Java browser plugin used to be managed via. This has now been removed in favor of a simpler out-of-the-box experience. For basic usage, simply emerge the chosen JVM with the  USE flag enabled. Note that Oracle's plugin is only available for and.

Also note that Chromium-based browsers no longer support NPAPI-based plugins since the code was removed in September 2015. The list of supporting browsers is shrinking but still includes Firefox as of version 46.

For more information, including JVM selection, Web Start, and multilib, see the README installed with icedtea-web.

Establecer los ajustes USE
For more information regarding USE flags, refer to the USE flags chapter from the Gentoo Handbook.

Ajustes USE

 * The flag adds support for Java in a variety of programs;
 * The flag adds support for Mozilla-like browsers (including Firefox). This is needed for viewing Java applets in a Mozilla-like browser;
 * The flag adds support for the Java Cryptography Engine;

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

 * Java Developer Guide
 * Project:Java/Why_build_from_source
 * Project:Java/Getting_Involved

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:



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: