From Fedora Project Wiki
No edit summary
No edit summary
Line 8: Line 8:
* a Platform (JVM, JRE ...) https://en.wikipedia.org/wiki/Java_(software_platform)  
* a Platform (JVM, JRE ...) https://en.wikipedia.org/wiki/Java_(software_platform)  
* a Programming language (Java is the most popular) https://en.wikipedia.org/wiki/Java_(programming_language)
* a Programming language (Java is the most popular) https://en.wikipedia.org/wiki/Java_(programming_language)


If you came here because an application ask for Java (or JRE, JVM) to be installed: install {{package|Java}}
If you came here because an application ask for Java (or JRE, JVM) to be installed: install {{package|Java}}
Line 14: Line 15:
</pre>
</pre>


If it still does not work or the application ask specifically for ''Oracle Java'': See here
 
If it still does not work or the application ask specifically for ''Oracle Java'': See here [[#Oracle version]]
 


If you want to develop, code, on the Java Platform: See Development
If you want to develop, code, on the Java Platform: See Development




=== JRE JDK SDK JVM OpenJDK JSE JEE ? ===
 
=== JRE JDK JVM JSE ... ===


Some vocabulary:
Some vocabulary:


* ''JRE'' Java Runtime Environment. Required to run Java code and applications. Install {{package|Java}}. (There are other implementations, notably Oracle, see ...)
* '''JRE''' Java Runtime Environment. Required to run Java code and applications. Install {{package|Java}}.
* ''JVM'' Java Virtual Machine. Main component of the JRE.
* '''JVM''' Java Virtual Machine. Main component of the JRE.
* ''JDK'' Java Development Kit.  Required only for development, coding.
* '''JDK''' Java Development Kit.  Required only for development, coding.
* ''SDK'' Software Development Kit. idem JDK
* '''SDK''' Software Development Kit. idem JDK
* ''OpenJDK'' Open Source project for the Java Platform http://openjdk.java.net/.  
* '''OpenJDK''' Open Source project behind the Java Platform http://openjdk.java.net/.  
* ''JSE'' & ''JEE'' obsolete acronyms for '''J'''ava '''S'''tandard & Enterprise Edition.  ''JavaSE'' is like ''JRE''.
* '''JSE''' & '''JEE''' obsolete acronyms for '''J'''ava '''S'''tandard & '''E'''nterprise '''E'''dition.  ''JavaSE'' is like ''JRE''.




Line 38: Line 42:


Multiple implementations can be installed side-by-side without interfering:
Multiple implementations can be installed side-by-side without interfering:
* The ''alternative'' system allows to switch from one to another.  
* The [alternative] system allows to switch from one to another.  
* An application can directly reference a specific Java installation
* An application can directly reference a specific Java installation
* Some applications include a java platform, it is then transparent for the user. (But the package is bigger.)
* Some applications include a java platform, it is then transparent for the user. (But the package is bigger.)
Line 44: Line 48:
=== Oracle version ===
=== Oracle version ===


Some applications still ask for Oracle's implementation.  It is mostly based on the Open Source OpenJDK, but there are still some non-free code and Fedora does not package non-free softwares.  
Some applications still ask for Oracle's implementation.  It is mostly based on the OpenJDK Open Source project, but there are some non-free code and Fedora does not package non-free softwares.  


Oracle provides the RPM packages: https://java.com/en/download/help/linux_rpm.xml
Oracle provides the RPM packages: https://java.com/en/download/help/linux_rpm.xml

Revision as of 13:06, 13 July 2017

Proposed new Java page. See this "discussion" for the rationale.


Java

Java relates to:


If you came here because an application ask for Java (or JRE, JVM) to be installed: install Package-x-generic-16.pngJava

sudo dnf install java


If it still does not work or the application ask specifically for Oracle Java: See here #Oracle version


If you want to develop, code, on the Java Platform: See Development


JRE JDK JVM JSE ...

Some vocabulary:

  • JRE Java Runtime Environment. Required to run Java code and applications. Install Package-x-generic-16.pngJava.
  • JVM Java Virtual Machine. Main component of the JRE.
  • JDK Java Development Kit. Required only for development, coding.
  • SDK Software Development Kit. idem JDK
  • OpenJDK Open Source project behind the Java Platform http://openjdk.java.net/.
  • JSE & JEE obsolete acronyms for Java Standard & Enterprise Edition. JavaSE is like JRE.


Other implementations

If the default OpenJDK Package-x-generic-16.pngJava Fedora package does not fulfil the requirements. Alternatives can be installed alongside or separately.

The Java Community Process defines the specifications of the platform that many implements (IBM J9, Jikes, Zing, Zulu Dalvik ...). We will only focus on Oracle here.

Multiple implementations can be installed side-by-side without interfering:

  • The [alternative] system allows to switch from one to another.
  • An application can directly reference a specific Java installation
  • Some applications include a java platform, it is then transparent for the user. (But the package is bigger.)

Oracle version

Some applications still ask for Oracle's implementation. It is mostly based on the OpenJDK Open Source project, but there are some non-free code and Fedora does not package non-free softwares.

Oracle provides the RPM packages: https://java.com/en/download/help/linux_rpm.xml


Java packages in Fedora

  • JavaFX (?) JavaFX is supposed to be merged in Java 8. Why is there a specific package??


Reference

Communication and help