Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
With changes in JDK licensing agreement from Oracle, companies are switching to OpenJDK.
My question is - which distribution of the OpenJDK would be a better choice? I am evaluating Oracle Open JDK and AdoptOpenJDK, and they both seems to be an idea choice.. However when it comes to support, Oracle OpenJDK is following a 6 month release cadence without any Long term support, however AdoptOpenJDK has LTS for Java version 8 and 11. So if I switch to Oracle OpenJDK, then I will have to follow the new release cadence to be up to data with security patches (I don't care much about the new features), however If I switch to AdoptOpenJDK, then I can go with one of their LTS version (11), and expect the new security patches will be applied to this version. My main concern is, I wanted to be up to date with Java security updates after switching to OpenJDK distribution.
References
https://www.reddit.com/r/java/comments/9hd97k/openjdk_vs_adoptopenjdk/
https://www.baeldung.com/oracle-jdk-vs-openjdk
tl;dr
If you want the most rapid release of critical security patches, pay for a support plan from a vendor such as Azul systems, BellSoft, Oracle, Pivotal, or Red Hat (IBM).
To better understand the current state of the world of Java releases, you really should study the document Java Is Still Free. Written by the Java Champions community of independent Java leaders and experts.
Details
With changes in JDK licensing agreement from Oracle, companies are switching to OpenJDK.
To be clear here, you may be referring to Oracle changing the terms to their Oracle JDK product to require a fee when used in production. That product is still free-of-cost for use in development, testing, and such.
My question is - which distribution of the OpenJDK would be a better choice?
Answering that depends on the criteria important to you. But you did not mention any criteria other than needing security updates rapidly (more on that below).
I am evaluating Oracle Open JDK and AdoptOpenJDK, and they both seems to be an idea choice..
Be clear on this: The OpenJDK project publishes source code only, not builds nor installers. Many vendors provide builds/installers based on the OpenJDK source code.
Oracle is one such vendor, providing three products:
Oracle JDK — their branded product requiring a fee for production use, with paid support available.
jdk.java.net — a build of OpenJDK without any fees and without any support.
GraalVM — a special product, a Java VM and JDK based on HotSpot/OpenJDK, implemented in Java, and supporting additional programming languages and execution modes, like ahead-of-time compilation of Java applications for fast startup and low memory footprint.
All three of these are based on OpenJDK source code. The first and last offer paid support programs.
Oracle has publicly declared their intent to keep Oracle JDK at feature-parity with OpenJDK. Oracle sponsors the OpenJDK project as part of that commitment. At the same time, Oracle reserves the right to rapidly release any critical security patch to their paying customers. They will eventually submit such patches to the OpenJDK project. But those submitted patches are likely to take more time to go through the OpenJDK process before being released.
AdoptOpenJDK is another vendor offering builds and installers of the OpenJDK source code base. So, again, any critical security patches may not reach the public free-of-charge as fast as a patch from another vendor to their paying customers.
Here is a flow chart I made to help guide you in your selection of a vendor for a Java implementation. You have a variety of choices, some with support options.
However when it comes to support, Oracle OpenJDK is following a 6 month release cadence without any Long term support, however AdoptOpenJDK has LTS for Java version 8 and 11.
I believe you are incorrect here. Oracle does maintain LTS updates to their Oracle JDK product for both Java 8 and Java 11, for some number of years to the public, and for additional years to their paying customers.
The Java community is much more cooperative in working together than you may understand. Every implementation of Java I know of is largely based on the OpenJDK project. The OpenJDK project is supported by Oracle, Apple, IBM, SAP, and possibly others. Amazon, Microsoft, and other companies contribute. The rapid release train and Long-Term Support (LTS) strategy has been embraced by the entire Java community.
Oracle has turned over stewardship of the LTS versions 8 and 11 to Red Hat, but Oracle continues to support them both. See the Oracle Java SE Support Roadmap for details.
So if I switch to Oracle OpenJDK, then I will have to follow the new release cadence to be up to data with security patches
Every Java implementation I know of is following along the same release cadence.
(I don't care much about the new features),
Then you should certainly stick to using only the LTS versions. Currently that would be Java 8 and Java 11.
If I switch to AdoptOpenJDK, then I can go with one of their LTS version (11), and expect the new security patches will be applied to this version.
You can expect security patches from any vendor providing a Java implementation. The question is how rapidly those patches will arrive to you.
My main concern is, I wanted to be up to date with Java security updates
Then I recommend you purchase a paid support plan from a reliable vendor. You have a choice of several. See the left side of the blue barrel in my diagram above.
If you think the chance of critical security vulnerability affecting you specifically is exceedingly low, or that you are likely to be able to mitigate such a vulnerability, then the cost of a support plan may not be worth it to you. In this case, you would wait for a newer free-of-cost release. You may be waiting longer than you would with a paid vendor.
after switching to OpenJDK distribution.
Every Java implementation I know of being distributed today is based on OpenJDK.
Here is another graphic listing possible motivations for choosing a particular vendor for your Java implementation.
Related
My understanding from "Do you have to pay to use Java?" of Java programming language Free
is that I can go for OpenJDK(version 11) build provided I don't need LTS as both OpenJDK and commercial version are identical in terms of features. If I need to purchase LTS(Long term support) either I have to purchase support for OpenJDK or upgrade to same version of "commercial Oracle JDK build". Is that correct ?
Another question is why I need LTS ?
I think if we don't take LTS then any we don't get any support/patch for defects( or security patch). Right ?
I wrote a blog article discussing that topic in early 2019.
First, as far as I know, the OpenJDK team does not offer any premium support.
Second, normally one goes to the LTS for longterm support, mainly security updates.
Third, Oracle will only hand over the code for the LTS version to the OpenJDK team and only after the LTS has reached its end of life. This means that the OpenJDK community has to keep up with changes on their own.
Now to the topic on the JDKs being identical. They both pass the JCK and thus can be used as drop-in replacement for each other. The implementations, however, may vary.
There is a host of JDK providers, all with different support plans. Fact of the matter is, there is no free lunch. If one wants support, one has to pay.
A remark on your post: Please limit yourself to one question per post
OpenJDK is a free and open-source implementation of the Java Platform. The implementation is licensed under the GNU General Public License. You are free to use at any environment. But you won't get any kind of support from the Oracle and you've to rely on open communities support, later can be best than the OEM support some times.
LTS is a product life cycle management policy in which a stable release of software is maintained for a longer period of time than the standard edition. You get security updates for some good number of years.
Do you have to pay to use Java?
Answer is yes, Iff you use Oracle JDK for business, commercial, or production purposes.
Answer is No, if you use OpenJDK irrespective purpose or environment.
PS: this is all about licensing and it can change over a period of time.
LTS is supported for 3 years and will receive updates until it expires. When you use openjdk you need not pay for support or patches. I always go with LTS like java 11.
The non-LTS version will have newer features but they are short lived like 6 months. They don’t receive updates for long rather it is expected to upgrade to next version. Security patches are available on same version or next version.
If you don’t have a special usecase then open jdk is more than enough
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 years ago.
Improve this question
since Oracle JDK is need to be paid for production environment , i will to know if OpenJDK/AdoptOpenJDK give me the same stablity too. I read that Oracle is developing OpenJDk, they for i would suggest that OpenJDK 11 is the same stable like Oracle JDK 11 too. But i have no experience in that area. Another question is: what is the main difference between OpenJDK and AdoptOpenJDk for the stable serie 11? What would you prefere to use for production environment? there for, i would be happy if someone can advice me.
Update 2021-09
For versions 8 through 16, Oracle required a fee if their own Oracle JDK product was used in production, but not for dev, test, and training usages.
For Java 17, the Oracle JDK product is available under a new
No-Fee Terms and Conditions license, discussed on the Oracle
company blog.
On my first reading, it appears this new license makes production use free-of-cost (along with dev, test, and training usages), except for products sold for a fee while bundling the Oracle JDK product. But I am not an attorney, so read the terms yourself and consult legal advice as needed.
Keep in mind that many other vendors continue to provide implementations of the Java specs, as shown in the flowchart below. Some of these vendors sell support plans, either optionally or as a requirement for use of their product. Never assume, always read the detailed requirements for any distribution you obtain.
Another 2021 update: Add Microsoft to the list of vendors seen below.
tl;dr
Oracle and Adoptium (formerly AdoptOpenJDK) are but two of several vendors offering builds and installers.
All of the implementations of Java available today are based entirely or substantially on the source code provided by the OpenJDK project. All of them should show the same compatibility, stability, and functionality promised by the Java platform specifications.
You have a choice of several vendors offering one or more implementations of the Java platform. Some of those require payment of a fee in some situations, and some are free-of-charge. All are high-quality and frequently updated, per their support and end-of-life policies.
There is no one best vendor or product; choose according to your needs.
Details
OpenJDK is a project hosting an open-source implementation of the Java platform specifications. This project is run by Oracle, IBM, Apple, Red Hat, Azul Systems, SAP, and others. This project offers only source-code, not complete builds nor convenient installers.
Many vendors provide builds based on OpenJDK. Most are direct builds with little or no added value, though vendors have the right to include fixes or features as long as they abide by licensing terms.
Oracle is one such vendor. Oracle offers three products:
Oracle JDK for their paying customers (and free-of-cost for others doing developing & testing, but not deployment)
jdk.java.net, builds of OpenJDK, based directly and entirely on OpenJDK source code, no added value. Provided free-of-cost and unsupported.
GraalVM, a very special Java implementation, with editions either free-of-cost or fee-based.
Oracle has declared their intention to keep Oracle JDK at feature-parity with OpenJDK. They even went so far as to donate some of their commercial products such as Mission Control and Flight Recorder to the OpenJDK project. So you should expect the same stability, speed, and features — except that Oracle reserves the right to more quickly ship patched versions of their supported product to their paying customers when warranted. Submitting to OpenJDK and getting a release there may take more time.
Oracle is not the only vendor producing builds of Java with and without paid support options. Some individual companies provide builds with and/or without paid support. And key members of the Java community have combined their efforts, founding the Adoptium project, formerly known as AdoptOpenJDK.net, and now housed at the Eclipse Foundation. This project hosts infrastructure for building and testing OpenJDK builds for a variety of hardware and OS platforms, some of which offer a choice between the HotSpot and OpenJ9 JVMs. See Difference between OpenJDK and AdoptOpenJDK.
Here is a flowchart I made that may assist you in choosing a vendor for a Java implementation.
There are no wrong choices here. As far as I know, all of these vendors do a solid job of building, publishing, and updating their releases. But here are a few considerations that might lead you to a particular vendor.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
As a developer I would prefer to install JDK11 binary distribution from Oracle (Oracle JDK) and get free updates from Oracle for 7 years (LTS). Is this possible for free?
I think it is not possible, because after 6 months from JDK11 appearing on Oracle website I won't be able to download it (Oracle JDK 11 version with any current updates, like 11.0.2) from Oracle website, and I won't be able to find (on Oracle website) where to download such updates (for OracleJDK) without a paid subscription from Oracle. I guess I can search for OpenJDK 11 paid alternatives to get updates longer than 6 months (say, Red Hat), but I am not aware of any free alternatives - please advise!
I know the following (please correct me if I'm wrong):
Starting from Oracle JDK9 any use (even just use, not just getting updates - so using without updating is also paid) of such JDK in production is paid. But any use in development, testing, prototyping and demonstration is still free!
It seems that for OracleJDK use is also free if I use any Oracle cloud service or Oracle SQL Developer IDE (see "License Rights and Restrictions" part of the licence and “Oracle Approved Product Use” definition)
I can use OpenJDK for free in production (JDK9, JDK10, ...), those JDK shall be exact equivalent of Oracle JDK, the only difference was that earlier OpenJDK did not have binary (at jdk.java.net they only had sources as zip)(but now binaries are available there at https://jdk.java.net/archive/ and http://jdk.java.net/12/) besides adoptopenjdk.net provide binaries made from OpenJDK (src taken from openjdk.java.net site).
Until JDK8 there was significant difference between OracleJDK and OpenJDK (performance, stability, etc) - but starting JDK9 these differences shall be gone (Oracle claims so, I don't know the reality).
LTS updates will be provided ONLY for OracleJDK (for LTS releases JDK8, JDK11, prospective JDK17) for money only. LTS releases will appear every 3 years, support for each would be at least 7 years.
So if I use OpenJDK JDK11, I will get absolutely no updates (neither for 6 months, not for one 1 year, not for 7 years).
If I have a non-LTS (say JDK12) from Oracle (paid only if in production), I will get updates only for about 6 months - until JDK13 is released and no longer (even for money).
If I have a non-LTS (say JDK12) from OpenJDK, I will also get absolutely no updates - I can download only the first JDK12 as source (zip) at jdk.java.net or as a binary distribution (exe installer for Windows) at adoptopenjdk.net
There is a strange site with OpenJDK updates (Mercurial repo?), but I don't seem any practical way how to use this site.
I think there is some discussion in the community what to do now with updates for OpenJDK releases - who and how can do it. But today nobody does that.
Also, RedHat seems to offer some updates for OpenJDK, but I don't understand the whole picture. I guess that if I pay for RHEL, than they would update my JDK as a part of RHEL (this is just like buying Oracle JDK, but maybe cheaper, I don't know. Besides RHEL seems to use OpenJDK, not OracleJDK. Not sure OpenJDK and OracleJDK are so much identical now as Oracle claims).
Concerning OpenJDK updates (no such updates exist?!), I don't understand this - if Oracle claims that it is Oracle (!) who provides OpenJDK (!) releases at jdk.java.net site (see prooflink), why Oracle does not also provide updates for those OpenJDK for at least 6 months (no such updates are present on dk.java.net site)? OracleJDK and OpenJDK are "kind-of" identical now, Oracle updates its OracleJDK for 6 month anyway - why not also update OpenJDK for 6 month?
P.S. Seems like Oracle promises to contribute security updates to OpenJDK quarterly (but not any other updates: performance updates, stability updates, as in Oraccle JDK if I pay for "Java SE Subscription" which includes updates and online/telephone support 24/7 at $25 per month per processor on server or in a cloud):
Also interesting that Mark Rotteveel (see comments) writes that there is only a single place with JDK source-code: (probably it is http://hg.openjdk.java.net/ I don't know the difference from http://openjdk.java.net/ ) and even Oracle (and others) take code from there:
OpenJDK is a source-only project, every build is a variant of OpenJDK
(eg Oracle, AdoptOpenJDK, RedHat, Azul, and others) built by a
company, group of people etc, possibly with vendor specific extensions
and tools.
REFERENCES:
OracleJDK vs OpenJDK vs AdoptOpenJDK - MUST READ
OpenJDK, Oracle JDK and JCP
I know the following (please correct me if I'm wrong):
There are quite a few incorrect factual inaccuracies in your summary.
For example:
Point 3 is refuted by https://openjdk.java.net/install/ and https://jdk.java.net/java-se-ri/11 which has links to binaries.
But rather than correcting them all, I suggest that you (and other readers) take the time to read this:
"Java is Still Free" by the Java Champions.
Now to your question:
Concerning OpenJDK updates (no such updates exist?!),
They do exist. Updates for the OpenJDK releases are produced until the next OpenJDK release.
I don't understand this - if Oracle claims that it is Oracle (!) who provides OpenJDK (!) releases at jdk.java.net site (see prooflink), why Oracle does not also provide updates for those OpenJDK for at least 6 months (no such updates are present on dk.java.net site)? OracleJDK and OpenJDK are "kind-of" identical now, Oracle updates its OracleJDK for 6 month anyway - why not also update OpenJDK for 6 month?
These are business decisions made by Oracle.
I cannot speak for Oracle in anyway, but from Oracles' perspective, there are clearly three issues:
It would cost Oracle money to employ people to do that.
Oracle wants to get more people paying to use Java. The more money that they get in the form of subscriptions, support contracts and so on, the more that they are able to invest in Java.
Oracle is no longer enthusiastic to continue (effectively) subsidizing individuals and other organization by providing them long-lived Java releases for free.
You can argue all you like that Oracle should continue provide updates for older releases in the way that they have previously. However, they are simply not obliged to do this. Not legally, and not morally.
Also, note that you can get OpenJDK-based Java from places other than the jdk.java.net site. In many cases, you can get it for free. And some vendors are saying that they will provide long term support for the Java LTS releases; e.g. see https://access.redhat.com/articles/1299013
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 4 years ago.
Improve this question
So I am currently building all my applications in Oracle JDK 8. Will the Oracle Licensing policy update affect the use of JDK 8 or Is that only for JDK 11 LTS. Suppose If I want to migrate to JDK 11 in near future, Can I choose OpenJDK under GPL upto production? Is there any change in source code from Oracle JDK under BCL and OpenJDK under GPL? Can I use it interchangeably?
OpenJDK is a word that means many things.
It all starts with OpenJDK, the source repository. It is GPL licensed (and that's a can of worms by itself, lots has been written about it, and the full license can be found on the OpenJDK licenses page.
But that's sources. There's the notion of 'packaging' the sources. This is, itself, a product. Perhaps if you're old enough you remember that folks would sell, shrink-wrapped in a box, a bunch of CDs or DVDs with a linux distro, a manual, and the right to support for a certain period of time. That is a packaging of an open source product. The fact that I can buy a SuSE distro in a box in the store doesn't make linux a for-pay product. The OpenJDK (the source repo) is no different.
A packaging of the OpenJDK (source repo) would presumably include, though all of these are optional components:
Binaries for a few platforms, such as 'for windows', 'for ARM Linux', etc.
An installer to install this binary.
A channel to communicate updates to you, for example about security issues; this can be as simple as a mail newsletter and as complex as a continuously running tiny app that checks for updates and automatically installs them when an update shows up, to commitment to maintain an apt-get repo.
Support, via phone, mail, etc. This support can be for the VM itself ("My VM crashes if I give it more than 4GB of memory") to programming java to trying to optimize a deployment ("Which garbage collector is more efficient here?") – to merely having a no-guarantees whatsoever forum.
There are many packagings of the OpenJDK (the source repo). The ones most relevant to you:
Oracle OpenJDK, the product. This is free and open source (FOSS), ships with no support whatsoever (like most FOSS), does have installers and binaries for many platforms, is produced by oracle, and notably offers a support channel ONLY until the next major java version is released. Right now you can download Oracle OpenJDK11 and it'll be supported.. for a few weeks, because OpenJDK12 is around the corner. You may have heard of 'long term support' versions.. that doesn't apply to Oracle OpenJDK. In this product, 'long term support' just isn't a thing.
Oracle JDK. This is a commercial offering (though it does have sort of a preview/developer version, but you're not supposed to use that for much, best to ignore its existence), that notably offers support from oracle for it, AND it DOES adhere to the long-term-support thing. In a few weeks, when Oracle OracleJDK12 is released, OracleJDK11 is still supported. As in, if a security issue comes up, they'd patch it and release an update, and make sure all your auto-updaters and such pick it up, and they'll mail you about it, etc.
AdoptOpenJDK's JDKs. The adoptopenJDK project is an open source volunteer endeavour. These are free and they do commit to keeping JDKs updated, particularly the ones oracleJDK considers 'long term support' (so, 8 and 11), though notably they have NOT committed to writing patches. If there's an open source security or bugfix patch out there they'll apply it and release a new version, but if there's no such patch then there won't be an update.
Amazon's Corretto offerings. These are free; there's an 8 version and just this week an 11 has been released. Amazon's committed to keeping these up to date and specifically checked to run smoothly on amazon AWS instances.
(Some others are listed in Wikipedia article https://en.wikipedia.org/wiki/OpenJDK#OpenJDK_builds)
My advice is to use adoptopenjdk JDKs everywhere, except perhaps if you run java on AWS stuff you might want to pick up coretto instead. If your boss wants the safety cushion of support and SLAs, buy oracle's.
Use Oracle's OpenJDK packaging only for early access releases; if you want to test JDK12 on your dev machine, oracle openJDK is what you're looking for.
Legally speaking all of these offerings have their own licenses. AdoptOpenJDK, Coretto, and Oracle OpenJDK are all pretty much GPL+classpath exception and that's all, but, I'm not a lawyer.
Java 11 does not come with a JRE for download, unlike past Java versions. I got an error "no java run-time environment" when running some Java-based software. To fix the problem, I had to install Java 8 JRE.
How can I get my PC to run Java 11 JRE given that there is no more JRE 11 to download?
I am using Windows 10.
The Answer by Stephen C is correct, and important.
Oracle no longer intends for end-users to be installing a JRE or a JDK. Java Applets in a browser and Java Web Start app delivery are both being phased out, leaving the end-user with no need for a JRE. Java-based apps are expected to bundle their own Java implementation. The only folks consciously installing a JDK will be developers & server-side sysadmins.
Important:
Understand clearly the nature of the OpenJDK project, as explained in Wikipedia
Read this white paper by Oracle of 2018-03, Java Client Roadmap Update
Read the white paper Java Is Still Free, authored by key members of the Java community.
Learn about:
Java Platform Module System
jlink (JEP 282)
jpackage (JEP 343)
Desktop apps are now expected to bundle their own Java runtime. Those tools listed above can create a very small runtime custom-fit to your particular app.
Here is a flowchart diagram that may help you finding and deciding amongst the various vendors providing a Java 11 implementation.
And a table mapping possible motivations or considerations leading to suggested vendors of Java.
Compatibility concerns
In the Comments, an question was raised, concern over compatibility issues between releases by various vendors.
Firstly, know that the OpenJDK project includes a vast suite of tests known as the OpenJDK Community Technology Compatibility Kit (TCK). Vendors are free to self-declare whether their release has passed those tests. These claims are not verified, and rely on the honor system. On my diagram above, I have check-marked "TCK" on the couple vendors I know have self-declared: Oracle JDK by Oracle & Zulu by Azul Systems.
All the products listed in the blue barrel area of my chart above are built almost directly on the OpenJDK source code. So generally, you should see virtually identical compatibility.
There are two areas of concern you might consider: Technology differences, and schedule of updates/patches.
As for technology differences, vendors using the OpenJDK project can ship with either the HotSpot engine or the OpenJ9 engine. These will differ on performance (faster/slower startup versus overall speed, more/less memory), but their behavior in terms of complying with the Java specifications should be identical. They could differ, and certainly either might present a flaw (that likely would be soon fixed) that the other lacked. Personally, I would not be concerned by this, but I mention it for completeness.
Another technology difference is the different kind of JVM used by Zing by Azul Systems and GraalVM by Oracle. Either of these might differ in some way from each other or from the other products, because they intentionally have a different kind of JVM implementation, to offer special features. But given the thoroughness of the Java specs, they should not be incompatible. If they were, you can expect any compatibility problem to be rapidly resolved. If I needed the special features of either of these products, I would use them with full confidence.
Another possible concern is the speed with which a vendor might update their own releases with certain bug fixes or security patches. For example, Oracle has stated that they reserve the right to immediately ship any ready patches to their own customers, while submitting those to the OpenJDK project for consideration. Certainly, any of the vendors providing commercial support are likely to rush a fix or patch to their paying customers. Those releases built as a courtesy to the community provided free-of-cost may take longer to update, likely after the OpenJDK project has incorporated a fix/patch.
And each vendor is free to modify their code base at will, as long as they comply with the Java specs. For example, the Corretto team at Amazon has already made improvements to their own release, and then shared those changes upstream to the OpenJDK project. There may a gap in time before OpenJDK incorporated those changes, if they decide to do so. So it is possible that various releases might differ. But at this point, all of the vendors in the Java community seem to have sincere commitments to work together to prevent fragmentation. So, again, I have no real concern here, but mention this for completeness.
Right now, there seem to be no free + easy Oracle-supported Java 11 JRE (only) options. Your options are:
Download and use an OpenJDK Java 11 JDK from the OpenJDK site.
Download and use an Oracle Java 11 JDK from the Oracle site ... and be sure that you fully understand the restrictions on "commercial use" that now apply to the Oracle Java 11+ releases.
Try to roll your own Windows JRE for Windows from the OpenJDK sources; see Create jre from OpenJDK Windows. (I wouldn't recommend doing this. There are better alternatives.)
Look into using the new jlink tool to create a custom image (basically a cut-down JRE) for your application. This seems to be the option that Oracle want 3rd-party application developers to use.
Talk to Oracle sales about a Java support contract, and specifically ask about how to get a JRE build. (I don't know what the answer will be. If someone does try this, and they get a positive response, please comment!)
Use a 3rd-party Java JRE distribution.
The list of Java vendors changes over time, but as of now it includes AdoptOpenJDK, Amazon, Azul, BellSoft, IBM, jClarity, Red Hat and SAP. See also: Difference between OpenJDK and Adoptium/AdoptOpenJDK
Some of these vendors offer JRE distros. Check their download sites.
Since (nearly) all Java vendors base their products on the same standard OpenJDK codebase that is used for Oracle Java, there is no reason to be concerned about the stability of a 3rd party JRE. Some vendors offer (paid for) support.
(Or switch from Windows to Linux. I can install an OpenJDK Java 11 JRE-only package from the distro package manager on recent versions of Ubuntu, Fedora, ...)
For those people who think that Oracle Java 11 and OpenJDK Java 11 are the same, please read the following from the Oracle download site:
Important changes in Oracle JDK 11 License
With JDK 11 Oracle has updated the license terms on which we offer the Oracle JDK. The new Oracle Technology Network License Agreement for Oracle Java SE is substantially different from the licenses under which previous versions of the JDK were offered. Please review the new terms carefully before downloading and using this product.
Oracle also offers this software under the GPL License on jdk.java.net/11
Notice that Oracle are saying that the licenses for Oracle Java and OpenJDK Java are different. (Not withstanding that the two are built from essentially the same source code base.) Ignore this at your peril!
You can use the "adoptopenjdk" project website to download latest jre and JDK https://github.com/AdoptOpenJDK/openjdk-jdk11
find latest link here > https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot
Edit:
Problem has been fixed
I have used their night builds to workaround the problem of missing JRE in JDK package
https://adoptopenjdk.net/nightly.html?variant=openjdk11
zulu still maintains the jre (11 - 16) and it is recommended by some vendors.
you can download it on their site: https://www.azul.com/downloads/zulu/