ifdef::context[:parent-context: {context}]
:context: assembly_installing-java
[id="assembly_installing-java"]
= Installing Java

Java is a popular programming language that allows you run programs on many platforms, including Fedora.
If you want to create Java programs, you need to install a JDK (Java Development Kit).
If you want to run a Java program, you can do that on a JVM (Java Virtual Machine), which is provided with the JRE (Java Runtime Environment).
If in doubt, install the JDK because this is sometimes required even if the intention is not to write Java programs.

Many flavors of Java exist and also many versions of each flavor.
If you want to just run a specific application, check the documentation of that software to see what versions of Java are supported or have been tested.
Most Java applications run on one of the following:

* OpenJDK -- an open-source implementation of the Java Platform, Standard Edition.
  This version is preferred, and included in Fedora.
* Oracle Java SE -- a free JDK from Oracle.
  This version is not open-source and we recommend that it only be used if OpenJDK is not sufficient.

You can find the following Versions:

* Version (Ex. 8)

* Long Term Support or `LTS`

* Latest

include::{partialsdir}/proc_installing-openjdk.adoc[leveloffset=+1]

include::{partialsdir}/proc_installing-oracle-java.adoc[leveloffset=+1]

include::{partialsdir}/proc_switching-between-java-versions.adoc[leveloffset=+1]

include::{partialsdir}/ref_jdk-tools.adoc[leveloffset=+1]

[discrete]
== Additional resources

For Java in Fedora, see:

* link:https://admin.fedoraproject.org/mailman/listinfo/java-devel[java-devel mailing list]
* Freenode IRC channel link:irc://irc.freenode.net/fedora-java[#fedora-java]
* link:https://ask.fedoraproject.org/tags/java[Ask Fedora about Java]

For more information about Java in general, see:

* link:https://en.wikipedia.org/wiki/Java_(programming_language)[Wikipedia page for Java]
* link:https://openjdk.java.net/[OpenJDK homepage]
* link:https://oracle.com/java/[Oracle homepage for Java]

To develop Java applications, consider the following open-source IDEs:

* link:https://netbeans.org/[NetBeans]
* link:https://eclipse.org/[Eclipse]
* link:https://www.jetbrains.com/idea/[IntelliJ IDEA]

ifdef::parent-context[:context: {parent-context}]
ifndef::parent-context[:!context:]
