support of Java11
Show older comments
What are the plans to to use Java11 in future MATLAB releases? So far is still using Java 1.8, but Java 11 is now standard default version at many Linux distributions.
Is there any info regarding posibilities to call compiled Java (v1.8) jar files from MATLAB when MATLAB switch its internal Java to the v1.11?
7 Comments
John D'Errico
on 30 Aug 2022
Edited: John D'Errico
on 30 Aug 2022
Why should there be any plans at all?
In fact, 18 now seems to be the current official release, with several more releases soon to come. (Maybe. Plans are just plans, and sometimes plans change.)
It has been many years since the release you mention. So why should they suddenly decide they need to use a more recent release?
Ennio Visconti
on 24 Apr 2023
Michal
on 24 Apr 2023
Michal
on 24 Apr 2023
Ennio Visconti
on 24 Apr 2023
@Michal sry, I thought I did, I don't get a lot how this platform works. Thanks!
Ennio Visconti
on 24 Apr 2023
Edited: Ennio Visconti
on 24 Apr 2023
@Michal at least, supporting Java 11 means that it's post java-modules era, so what we are trying to do now is to have just one module that is compatible with matlab, and all the others that are more recent, so that at least when interacting from Java you can actually use recent Java versions (the other way around is still problematic if you go above Java 11).
Hopefully future updates will be faster, the critical one was moving from java 8 to 9, where most companies got stuck.
Maybe in 2024 they could switch to Java 17, who knows :)
Accepted Answer
More Answers (1)
Walter Roberson
on 30 Aug 2022
0 votes
Mathworks will never be switching to Java 11.
Mathworks is engaged in a multi-year process of getting rid of Java for their tools and toolboxes.
The whole uifigure / App Designer exists to get rid of Java.
Why is MATLAB not doing minimal updates to keep current while still proceeding with conversion efforts? It is because every version after the current version requires that end users pay Oracle a per-desktop license fee.
... No, I do not mean a per-user license fee, I do mean a per-desktop license fee. Each virtual machine must be licensed separately, no matter how long the virtual machine lasts. Also, as the language of the license is not specific about what a "desktop" is, it could certainly be interpreted that if you use the MS Windows "switch desktop" feature or the MacOS multiple-desktop feature, that you must license Java for each one of those views.
Historically Oracle only charged fees for the Developer version, but they switch to charging end users as well. And they have a reputation for being litigation-happy.
14 Comments
Michal
on 30 Aug 2022
Walter Roberson
on 30 Aug 2022
Java® packages and subpackages will not be available in MATLAB® in a future release. To continue using a Java package, install its JAR file and add the JAR file to the static path in MATLAB using the instructions in Static Path of Java Class Path.
Michal
on 30 Aug 2022
Michal
on 30 Aug 2022
Steven Lord
on 30 Aug 2022
At that future time, if the documentation and the Release Notes don't provide enough information or guidance please ask here on MATLAB Answers and/or contact Technical Support.
Michal
on 30 Aug 2022
Walter Roberson
on 30 Aug 2022
Mathworks has the goal of rewriting so that at some point, java will not be required for any Mathworks supplied tools or apps.
This is a long term goal; as it gets closer to being reached, you will start seeing Mathworks deprecate "traditional" at least some "traditional" graphics objects, as they rely on Java internally. For example uicontrol() requires Java internally.
I would tend to suspect that for a fair period, Mathworks will continue to support calling into user-provided Java, perhaps similar to the way it currently supports interfacing with Python (that is, user has to provide the software... and any licenses appropriate.) The goal is that users should routinely be able to execute MATLAB and tools without needing Java installed, and so users would not be required to pay Oracle -- but users who have particular reason to do so would still be able to invoke external Java (at their own expense.)
Chris Rygaard
on 11 Sep 2022
The reason you give for getting away from Java does not make sense to me. Many corporations are moving to OpenJDK because (1) it does not have a per-user license, even for their customers, (2) it is very well supported, and (3) it is fully compatible with Oracle JDK. Could you please clarify?
Walter Roberson
on 12 Sep 2022
Mathworks is also aiming to make the graphics be based upon javascript and HTML5 so that the graphics can be provided remotely (and have more degree of customization.)
Mathworks has not discussed OpenJDK with me.
Ennio Visconti
on 24 Apr 2023
Edited: Walter Roberson
on 30 Aug 2023
Thanks for the great insights, however they seem to support Java 11 since the latest release (R2023a): https://it.mathworks.com/help/matlab/release-notes.html
Roger
on 30 Aug 2023
The OpenJDK is always available for Matlab to use, instead of the Oracle JDK. Your point is moot.
Andrew Janke
on 16 Nov 2023
> ...pay Oracle a per-desktop license fee... No, I do not mean a per-user license fee, I do mean a per-desktop license fee... as the language of the license is not specific about what a "desktop" is
LOL, it's Oracle licensing. You'd have to hire a consultant just to figure out how much it's actually going to cost you.
Categories
Find more on Java Client Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!