Java 11 Early Access RPM¶
A Java RPM is now available, via the openjdk-11-ea
packages! Note, however,
this is not considered generally available (GA). It is an early access package ONLY.
This page is here to address some frequently asked questions you may have.
Is this Java production-ready?¶
No! These are early access RPMs, denoted with the -ea
suffix in the package name.
Why is this only “early access”?¶
Currently, this Java runtime has not yet completed all testing and is therefore not certified as production ready. We have, however, done thorough functional testing of various workloads, including Apache Camel, ActiveMQ, Tomcat, maven, Jenkins, etc. We are releasing an “early access” version to solicit feedback from the IBM i community, and we welcome your feedback for any testing you do!
How do I install this?¶
Simply use yum
or the Open Source Package Management tool in
Access Client Solutions to install the openjdk-11-ea
package.
Where does this install?¶
The Java Runtime Environment (JRE) gets installed to /QOpenSys/pkgs/lib/jvm/openjdk-11
How do I select this JVM to run my program?¶
If invoking Java directly from the command line, you will need to fully-qualify
the java
binary (/QOpenSys/pkgs/lib/jvm/openjdk-11/bin/java
) or add the
executable’s directory to the beginning of your PATH, like so:
PATH=/QOpenSys/pkgs/lib/jvm/openjdk-11/bin:$PATH
export PATH
If you’d like common Java-based tools, such as activemq or maven, to use this
Java, you should also set the JAVA_HOME
environment variable:
JAVA_HOME=/QOpenSys/pkgs/lib/jvm/openjdk-11
export JAVA_HOME
Why do I get error “Directory /QOpenSys/pkgs/lib/jvm/openjdk-11 in the JAVA_HOME environment variable does not contain a Java Virtual Machine.”?¶
The default java launchers do not currently accommodate this open source distribution. This will likely be investigated and addressed in a future release. In the interim, launch Java explicitly as documented in the previous section.
Can this integrate with RPG via the *JAVA declaration?¶
No. This will likely be investigated for a future release.
Can I use ILE native methods?¶
No, and there are no plans to support this. Instead, use the JTOpen (jt400)
library’s ProgramCall
support.
This also means that the *CURRENT
special value cannot be used for
authentication with the JTOpen library.
Does this show up in WRKJVMJOB?¶
No. This will likely be added in a future release.
Can this run inside of a chroot container?¶
Yes!! Unlike JV1 flavors of Java, this open source version is container-friendly.
Are there any functions known not to work?¶
As previously stated, not all testing has been completed, and this is not
considered production-ready.
That being said, the sun.nio.ch.AixAsynchronousChannelProvider
class will
malfunction and cause program crashes on IBM i 7.2. On IBM i 7.3, this function
requires PTF SI71837. For IBM i 7.4, PTF SI72224 is required.