forked from fedora-java/howto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcore_java_packages.txt
81 lines (60 loc) · 3.03 KB
/
core_java_packages.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
=== Core Java packages
==== JVM
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.
*`java-headless`*::
This package provides a working Java Runtime Environment (JRE)
with some functionality disabled. Graphics and audio support may
be unavailable in this case. `java-headless` provides
functionality that is enough for most of packages and avoids
pulling in a number of graphics and audio libraries as
dependencies. Requirement on `java-headless` is appropriate for
most of Java packages.
*`java`*::
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.
*`java-devel`*::
Provides full Java Development Kit (JDK). In most cases only
packages related to Java development should have runtime
dependencies on `java-devel`. Runtime packages should require
`java-headless` or `java`. Some packages not strictly related to
java development need access to libraries included with JDK, but
not with JRE (for example `tools.jar`). That's one of few cases
where requiring java-devel may be necessary.
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`.
.Epoch in versions of JVM packages
[NOTE]
=======
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.
=======
==== 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`.