Wildfly 8.1 compatibility with Openjdk - wildfly

I am using Widlfly 8.1 on production with JDK 8. I would like to update JDk to latest OpenJdk version.
Could you please tell me Wildfly 8.1 compatibility with latest Openjdk version?

According to the Getting Started Guide:
Requirements
Java SE 7 or later (we recommend that you use the latest update
available)
Having said that I would stick with a LTS release (Java 8 or Java 11) as the sub releases don't get as thorough of testing (from the Wildfly 18 release notes, JDK 13 section):
While we do want to run well on the most recent JDK, our
recommendation is that you run WildFly on the most recent long-term
support release, i.e. on JDK 11 for WildFly 18. We do considerably
more testing of WildFly itself on the LTS JDKs, and we make no attempt
to ensure the projects producing the various libraries we integrate
are testing their libraries on anything other than JDK 8 or 11.
WildFly 18 also is heavily tested and runs well on Java 8. We plan to continue to support Java 8 at least through WildFly 21, and
probably beyond.
I have been running Wildfly on OpenJDK versions for a year plus now and have had zero issues.

Related

Start GlassFish server with JDK11 in NetBeans IDE

I try to run the Glassfish server 6.2.2 on JDK11 which Officially supports JDK 11 on NetBeans 12.5 which itself should have Jakarta EE 9 GlassFish 6 Support. If I start GlassFish I get a message from NetBeans saying
GlassFish server could not be started with JDK 11 (Default). Pleas select another Java SE Plattform.
If I start GlassFish server via asadmin it works as a charm. So I am guessing it is a NetBeans issue.
Is there a workaround to get this to work or am I missing something?
I have read Problem with Glassfish server on netbeans JDK not which was asked only a couple of days ago and also Does GlassFish server 5.1 can started with JDK15 and also Start Glassfish in Netbeans 10 with JDK11 but they are all about older GlassFish versions prior to version 6.
EDIT
By the way: if I try to start GlassFish 6.2.2 with JDK8 I get an error message
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occured. Program will exit.
Unrecognized option: --add-opens=jdk.management/com.sun.management/com.sun.management.internal=ALL-UNNAMED
So I have no possibility to start the server at all.
While the Release Notes for NetBeans 12.5 state "Jakarta EE 9 GlassFish 6 Support", the information on the associated GitHub link titled "Jakarta EE 9 GlassFish 6 Support #2902" clarifies the extent of that support:
Adds support for GlassFish 6 automatic registration; Prepares for
Jakarta EE 9.1 and GlassFish 6.1.0, although not yet enabled for
automatic registration.
So NetBeans 12.5 does not support the use of Glassfish 6.2.x. Bear in mind that NetBeans 12.5 was released on September 13, nearly three weeks prior to the release of Glassfish 6.2, so the lack of support is hardly unreasonable.
For more details on why GlassFish 6.2.x won't work with NetBeans 12.5, see these comments from NetBeans issue 5734: JDK-Selection for Glassfish 6.1 is restricted to JDK 1.8
Netbeans expects to have a description of every Glassfish
distribution, and 6.2 has yet to be done. Unfortunately ATM when you
select 6.2.x it defaults to the nearest major version which is 6.0,
and JDK is therefore restricted again, which is correct in that
version.
It looks like support for GlassFish 6.2.x will be included in NetBeans 12.6 which is currently scheduled for release later this month, sometime between November 15th and November 30th.
Updated 12/8/21: The OP has confirmed that this issue is resolved with NetBeans 12.6, which was released on 11/29/21.

Can't install glassfish server in eclipse oxygen

Hi I am using Eclipse Oxygen in Ubuntu 18.4 with Oracle Java 10. I tried to install glassfish server in Eclipse but failed. every time I tried it said java development kit is required instead of JRE. I had given the path "/usr/lib/jvm/java-10-oracle". Even if I put the path as "/var/cache/oracle-jdk 10-installer/",it says "Java installer not found in the specified folder". i am putting the two screenshots here for your reference. Please help.Here are the 2 screenshots for the above two cases
[Note that in this answer I am assuming you are using GlassFish 5.0, which is the latest version]
GlassFish will not currently work on Java 10 due to the JPMS (module system). You need to use Java 8 instead.
You should also be aware that you need specifically Java 8u161 or lower for GlassFish, but the latest release of Java 8 can be used with Payara Server which will work in the same way as GlassFish.
If you really need to use GlassFish on a version of Java 8 higher than u161, then you can use the latest 5.0.1 nightly build

Is it ok to deploy today with Wildfly8 waiting for the next JBoss EAP to be released?

I'm about to start working on a project to be deployed later this year and would like to use JDK8. We use JBoss EAP for production but the latest JBoss EAP, 6.2 (based on JBoss AS 7.3) does not yet support it.
From a compatibility perspective, is it ok to start deploying in Wildfly8 now (which supports JDK8) with the expectation that later this year the corresponding EAP will come out?
It all depends on your application to be fair.
WildFly 8 support EE7 and EAP6 EE6, so it is up to you to decide what level of Java EE you need/want.
In future WildFly will be base for EAP7, which version of WildFly will depend on what is available at the time when "productivization" will begin.
As for Java 8 support goes, EAP 6.3 runs on Java 8, currently it is at Beta release which you can grab from http://jbossas.jboss.org/downloads/ with GA release coming soon.

Eclipse: Setting to generate errors when using classes from Java releases later than project's compliance level

Is it possible for Eclipse to tell you when you're using classes that are available in Java releases beyond your project's compliance level (even though the JDK I'm compiling with technically supports/has those classes)?
I'm using a Java 7 JDK for both my Java 6 and Java 7 execution environments in Eclipse (Version: Kepler Release, Build id: 20130614-0229).
I've set the compliance level of my project to Java 6 since we're compiling to Java 6 compatible byte code to support older JREs and I'm using a JavaSE-1.6 Exeuction environment but backed by a Java 1.7.0_15 JDK.
I recently found myself using something in the java.nio.* package and was surprised that I didn't get an error/warning in Eclipse telling me that my compliance level was Java 6 and this class was not available in Java 6.
Of course, I can always switch to a Java 6 JDK, but I'd prefer to use a Java 7 JDK for both execution environments.
Thanks!
A 7 runtime fulfills the requirements of a 6 Execution Environment. Targeting an actual Java 6 runtime is what you're supposed to do if you want compilation errors using anything that's not in there. Remember, it's not just new classes in 7, it's new methods.

Why does NetBeans still use JDK 1.5?

This question has always bothered me. And the NetBeans wiki does not say anything about that... Besides, JDK 1.5 will complete the End of Life process very soon and 1.6 has been around for quite a while.
So why do they still use version 1.5 even if 1.6 is available on all Netbeans-supported platforms?
The NetBeans team requires JDK 1.5 to ensure that the resulting jars will run on a 1.5 JVM.
You don't need to build it with JDK 1.5 if it's just for your own use. But if you're planning on developing modules, you'll need to use 1.5 to ensure everyone else can use your modules.
If you compile with 1.6, you can use the -target 1.5 to generate classes that will load into a 1.5 JVM. The downside is it will not prevent you from using classes or methods introduced in 1.6 (eg: StringBuilder). It will load in a 1.5 JVM, but will fail with the likes of ClassNotFoundException, NoSuchMethodErrot, or NoSuchFieldError.
I've only used Netbeans a few times, but I know you can download Netbeans 6.7 with the latest version of the Java SE 6 SDK (6u14).
Unless you meant with the Java EE 5 SDK. J2EE 5 is just a specification, implemented by Sun's GlassFish stack, Jetty, Apache Geronimo (and partly by Apache Tomcat), etc...
Sun's Java EE 5 SDK is just the Java SE 6 SDK with the GlassFish application server and other optional downloads that implement other parts of the specification.