English
Analogously to `maven-local` and `gradle-local`, this package provides an environment required to build Java packages using Apache Ivy as dependency manager.
Core Java packages
Epoch in versions of JVM packages
Fedora allows multiple Java Virtual Machines (JVMs) to be packaged independently. Java packages should not directly depend on any particulat JVM, but instead require one of three virtual JVM packages depending of what Java funtionality is required.
For compatibility with JPackage project packages providing Java 1.6.0 or later use epoch equal to `1`. This was necessary because package `java-1.5.0-ibm` from JPackage project had epoch `1` for some reason, so packages providing other implementations of JVM also had to use non-zero epoch in order to keep version ordering correct.
*`gradle-local`*
Includes the same base functionality as `java-headless`, but also implements audio and graphics subsystems. Packages should require `java` if they need some functionality from these subsystems, for example creating GUI using AWT library.
*`ivy-local`*
*`java`*
*`java-devel`*
*`java-headless`*
*`javapackages-local`*
*`javapackages-tools`*
Java Packages Tools
Java Packages Tools are packaged as severas binary RPM packages
JVM
*`maven-local`*
Package owning basic Java directories and providing runtime support for Java packages. The great majority of Java packages depend on `javapackages-tools`.
Package providing a basic environment necessary to geterate and install metadata for system artifact repository.
Packages that require minimal Java standard version can add versioned dependencies on one of virtual packages providing Java environment. For example if packages depending on functionality of JDK 8 can require `java-headless >= 1:1.8.0`.