From Fedora Project Wiki
No edit summary
No edit summary
Line 29: Line 29:
* '''SDK''' Software Development Kit. idem JDK
* '''SDK''' Software Development Kit. idem JDK
* '''OpenJDK''' Open Source project behind the Java Platform http://openjdk.java.net/.  
* '''OpenJDK''' Open Source project behind the Java Platform http://openjdk.java.net/.  
* '''IcedTea''' Obsolete name for OpenJDK
* '''IcedTea''' is a support project for OpenJDK (concern only developers) http://icedtea.classpath.org/
* '''JSE''','''J2SE''', '''JEE''' ... obsolete acronyms for '''J'''ava '''S'''tandard & '''E'''nterprise '''E'''dition.  ''JavaSE'' is like ''JRE''.
* '''JSE''','''J2SE''', '''JEE''' ... obsolete acronyms for '''J'''ava '''S'''tandard & '''E'''nterprise '''E'''dition.  ''JavaSE'' is like ''JRE''.


Line 63: Line 63:
Should be noted that JRE implementations installed outside Fedora distribution, may not support alternatives and thus not be visible there. Then the symbolic links under directory ''/etc/alternatives'' must be manually fixed.
Should be noted that JRE implementations installed outside Fedora distribution, may not support alternatives and thus not be visible there. Then the symbolic links under directory ''/etc/alternatives'' must be manually fixed.


== Java packages in Fedora ==
 
== Troubleshooting ==
 
=== shared library paths ===
 
(Is it useful here ???)
 
OpenJDK's '''java.library.path''', shared library paths for i386 are:
<pre>
/usr/lib
/usr/lib/jvm/java-1.?.0-openjdk-1.?.0.0.x86_64/jre/lib/
</pre>
 
and for x86_64:
<pre>
/usr/lib64
/usr/lib/jvm/java-1.?.0-openjdk-1.?.0.0.x86_64/jre/lib/amd64/
</pre>
 
OpenJDK package name on Fedora is ''java-1.?.0-openjdk''.
 
 
=== Java packages in Fedora ===


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




== Reference ==


== Communication and help ==
= Teaching and Learning Java =
 
As part of planning and implementing new 100% FLOSS Java components into Fedora, this draft document has been opened to give developers a place to teach each other about best practices, patterns, etc.
 
[[Docs/Drafts/JavaProgramming]]
[[Category:Language-specific_SIGs]]
 
 
= Open Issues with Java packages =
 
(Useful here ????)
 
* [https://bugzilla.redhat.com/buglist.cgi?component=java-1.8.0-openjdk&product=Fedora&bug_status=NEW&bug_status=ASSIGNED&bug_status=MODIFIED&bug_status=ON_DEV&bug_status=ON_QA&order=bugs.votes,bugs.bug_id java-1.8.0-openjdk]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=azureus Azureus]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=erlang erlang]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=itext itext]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=jogl JOGL]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=kawa kawa]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=pdftk PDFTK]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=plplot plplot]
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=mod_cluster mod_cluster]
 
= Communicate =
 
You can subscribe to [https://admin.fedoraproject.org/mailman/listinfo/java-devel java-devel list] or talk to us in [irc://irc.freenode.net/fedora-java #fedora-java] Freenode IRC channel. Read [[Communicate]]  page for more information.
 
= See Also =
* [[Java/FAQ]]
* [[Java/Troubleshooting]]
* [[Java/PKIAppletCompatibility]]
* [[Java/StackTraces]]
* [[Java/JPPMavenReadme]]
* [[Java/FedoraJavaMarketingBrief]]
* [[Docs/Drafts/JavaProgramming]]
* [[Packaging:Java]]
* [[JDK_on_Fedora]]
* [https://developer.fedoraproject.org/tech/languages/java/java-installation.html Developer.FedoraProject.Org/Java]
* [[SIGs/Java]]
 
= References =
* [http://openjdk.java.net/ OpenJDK Home]
* [https://bugs.openjdk.java.net/ OpenJDK bug tracking system]
* [http://icedtea.classpath.org/ IcedTea Home page]
* [http://icedtea.classpath.org/bugzilla/ IcedTea bug tracking system]
* [http://tomcat.apache.org/ Apache Tomcat]
* [http://java-source.net/open-source/web-servers Java web servers]
* [http://en.wikipedia.org/wiki/JBoss_application_server JBoss application server]
* [http://www.jboss.org/ JBoss Home page]
* [http://www.redhat.com/magazine/012oct05/features/java/ Red Hat Magazine article about java from 2005]
* [http://developer.classpath.org/ http://developer.classpath.org/]
* [http://jpackage.org/ Jpackage.org]
* [http://www.marketwire.com/press-release/Oracle-and-IBM-Collaborate-to-Accelerate-Java-Innovation-Through-OpenJDK-NASDAQ-ORCL-1332855.htm IBM joins to OpenJDK project]
 
[[Category:Java]]

Revision as of 13:34, 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, then simply install Package-x-generic-16.pngJava.


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. (careful to change the link for production)


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/.
  • IcedTea is a support project for OpenJDK (concern only developers) http://icedtea.classpath.org/
  • JSE,J2SE, JEE ... obsolete acronyms for Java Standard & Enterprise Edition. JavaSE is like JRE.


Multiple implementations

Fedora provides the Free OpenJDK Package-x-generic-16.pngJava. If this Open Source stack does not fulfil your 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

...


Switching alternatives

Switching is done using the Alternatives system (also used to change some other subsystems). Java's subsystem name is surprisingly java and typical commands include:

# alternatives --display java
# alternatives --config java

See alternative's own documentation for more information for usage and parts involved.

Should be noted that JRE implementations installed outside Fedora distribution, may not support alternatives and thus not be visible there. Then the symbolic links under directory /etc/alternatives must be manually fixed.


Troubleshooting

shared library paths

(Is it useful here ???)

OpenJDK's java.library.path, shared library paths for i386 are:

/usr/lib
/usr/lib/jvm/java-1.?.0-openjdk-1.?.0.0.x86_64/jre/lib/

and for x86_64:

/usr/lib64
/usr/lib/jvm/java-1.?.0-openjdk-1.?.0.0.x86_64/jre/lib/amd64/

OpenJDK package name on Fedora is java-1.?.0-openjdk.


Java packages in Fedora

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


Teaching and Learning Java

As part of planning and implementing new 100% FLOSS Java components into Fedora, this draft document has been opened to give developers a place to teach each other about best practices, patterns, etc.

Docs/Drafts/JavaProgramming


Open Issues with Java packages

(Useful here ????)

Communicate

You can subscribe to java-devel list or talk to us in #fedora-java Freenode IRC channel. Read Communicate page for more information.

See Also

References