Paquetes principales de Java

JVM

Fedora permite que múltiples Java Virtual Machines(Máquinas Virtuales Java) (JVMs) sean empaquetadas independientemente. Los paquetes Java no deberían depender directamente de ninguna JVM en particular, sino que requiere de uno de los tres paquetes JVM virtuales dependiendo de la funcionalidad que se requiera.

java-headless

Este paquete proporciona un Java Runtime Environment (Entorno Java en Tiempo de Ejecución) (JRE) en funcionamiento con alguna funcionalidad deshabilitada. El soporte de gráficos y audio puede no estar disponible en este caso. java-headless proporciona una funcionalidad que es bastante para la mayoría de los casos y evita tirar de diversas librerías de gráficos y audio como dependencias. Los requisitos en java-headless son apropiados para la mayoría de los paquetes Java.

java

Incluye la misma funcionalidad base que java-headless, pero también implementa subsistemas de audio y gráficos. Los paquetes deberían requerir java si necesitan alguna funcionalidad de estos subsistemas, por ejemplo la creación de .GUI (Interfaz Gráfica de Usuario) usando la librería AWT (Conjunto de Herramientas de X Window).

java-devel

Proporciona el Java Development Kit (Conjunto de Desarrollo Java) (JDK) completo. En la mayoría de los casos solo los paquetes relacionados con el desarrollo Java deberían tener dependencias en tiempo de ejecución sobre java-devel. Los paquetes en tiempo de ejecución deberían requerir java-headless o java. Algunos paquetes no relacionados estrictamente con el desarrollo java necesitan acceso a librerías incluidas con JDK, pero no con JRE (por ejemplo tools.jar). Este es uno de lo pocos casos dondde puede ser necesario requerir java-devel.

Los paquetes que requieren una versión mínima estándar de Java pueden añadir dependencias versionadas en uno de los paquetes virtuales que proporcionan entorno Java . Por ejemplo si paquetes que dependen de la funcionalidad de JDK 8 pueden requerir java-headless >= 1:1.8.0.

Époco en versiones de paquetes JVM

Por compatibilidad con el proyecto JPackage los paquetes que proporcionan Java 1.6.0 o posterior usan época igual a 1. Esto fue necesario porque el paquete java-1.5.0-ibm del proyecto JPackage tenía época `1`por alguna razón, de modo que losm paquetes que proporcinan otras implementaciones de JVM también tienen que usar época distinta de cero ppara la mantener el correcto orden de versiones.

Java Packages Tools

Java Packages Tools are packaged as severas binary RPM packages

maven-local

This package provides a complete environment which is required to build Java packages using Apache Maven build system. This includes a default system version of Java Development Kit (JDK), Maven, a number of Maven plugins commonly used to build packages, various macros and utlilty tools. maven-local is usually declared as build dependency of Maven packages.

ivy-local

Analogously to maven-local, this package provides an environment required to build Java packages using Apache Ivy as dependency manager.

javapackages-local

Package providing a basic environment necessary to geterate and install metadata for system artifact repository.

javapackages-tools

Package owning basic Java directories and providing runtime support for Java packages. The great majority of Java packages depend on javapackages-tools.