# openJDK 10 deprecated, how to switch to version 11?

**URL:** <https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107>\
**Category:** Processing\
**Created:** [November 1, 2019, 11:29am UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107 "2019-11-01T11:29:01Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)\
**Post date:** [November 1, 2019, 11:29am UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/1 "2019-11-01T11:29:02Z")

</div>

Hi,

All my recent Processing projects were written with openJDK 10 in IntelliJ Idea, using the Processing jar files as a library. Everything was good 🙂

After I upgraded Ubuntu, openJDK 10 is gone, and I can now only install 8, 11, 12 and 13. Going back to 8 would involve changing all my code and removing all the nice new Java features.

With version 11, I get

```auto
/usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.library.path=/.../processing/libraries/GameControlPlus/library:/...processing_sam/linux/work/core/library -javaagent:/snap/intellij-idea-community/177/lib/idea_rt.jar=36435:/snap/intellij-idea-community/177/bin -Dfile.encoding=UTF-8 -classpath /home/fp/workspace/aBeLive/bin/production/aBeLive:/.../processing/libraries/hemesh/library/eclipse-collections-9.0.0.jar:/.../processing/libraries/hemesh/library/eclipse-collections-api-9.0.0.jar:/.../processing/libraries/hemesh/library/hemesh-data-3_0_0.jar:/.../processing/libraries/hemesh/library/hemesh-external-6_0_0.jar:/.../processing/libraries/hemesh/library/hemesh-lab.jar:/.../processing/libraries/hemesh/library/hemesh.jar:/.../processing/libraries/hemesh/library/javaluator-3.0.2.jar:/.../processing/libraries/controlP5/library/controlP5.jar:/.../processing/libraries/peasycam/library/peasy-math.jar:/.../processing/libraries/peasycam/library/peasycam.jar:/.../processing/libraries/themidibus/library/themidibus.jar:/.../processing/libraries/oscP5/library/oscP5.jar:/home/fp/.m2/repository/com/cedarsoftware/json-io/4.10.0/json-io-4.10.0.jar:/.../processing/libraries/VideoExport/library/VideoExport.jar:/.../processing/libraries/video/library/jna.jar:/.../processing/libraries/video/library/video.jar:/.../processing/libraries/video/library/gst1-java-core-1.1.0.jar:/.../processing/libraries/colorutils/library/colorutils.jar:/.../processing/libraries/datautils/library/datautils.jar:/.../processing/libraries/toxiclibs_p5/library/toxiclibs_p5.jar:/.../processing/libraries/toxiclibscore/library/toxiclibscore.jar:/.../processing/libraries/volumeutils/library/volumeutils.jar:/.../processing/libraries/GameControlPlus/library/GameControlPlus.jar:/home/fp/workspace/libs/javax.activation-1.2.0.jar:/home/fp/workspace/libs/javax.mail.jar:/...processing_sam/linux/work/core/library/javafx.base.jar:/...processing_sam/linux/work/core/library/gluegen-rt-natives-linux-amd64.jar:/...processing_sam/linux/work/core/library/jogl-all-natives-linux-i586.jar:/...processing_sam/linux/work/core/library/jogl-all.jar:/...processing_sam/linux/work/core/library/javafx.web.jar:/...processing_sam/linux/work/core/library/javafx.fxml.jar:/...processing_sam/linux/work/core/library/jogl-all-natives-linux-amd64.jar:/...processing_sam/linux/work/core/library/gluegen-rt.jar:/...processing_sam/linux/work/core/library/javafx-swt.jar:/...processing_sam/linux/work/core/library/gluegen-rt-natives-linux-i586.jar:/...processing_sam/linux/work/core/library/core.jar:/...processing_sam/linux/work/core/library/javafx.graphics.jar:/...processing_sam/linux/work/core/library/javafx.media.jar:/...processing_sam/linux/work/core/library/javafx.swing.jar:/...processing_sam/linux/work/core/library/javafx.controls.jar aBeLive.AbeLive
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/bla/Downloads/installers/2019-09-01_01-15-52_linux_x64_processing_sam/linux/work/core/library/gluegen-rt.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Inconsistency detected by ld.so: dl-lookup.c: 112: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!

```

Same error when trying @sampottinger’s binaries and Processing 3.5.3’s.

Any suggestions to make programs run with Java 11?

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [November 1, 2019, 11:33am UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/2 "2019-11-01T11:33:06Z")

</div>

The linker is buggered on stock OpenJDK, I suggest you install AdoptOpenJDK11+ instead, that is what Sam Pottingers fork is doing. There is a choice of jvm to to install `hotspot` is the conservative choice.

---

<div class="post-metadata">

**Author:** ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)\
**Post date:** [November 1, 2019, 11:38am UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/3 "2019-11-01T11:38:40Z")

</div>

Thanks for the tip! I’m going to try figure that out and report back.

The download URL seems to be this:

> **[AdoptOpenJDK](https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot)**
>
> AdoptOpenJDK provides prebuilt OpenJDK binaries from a fully open source set of build scripts and infrastructure. Supported platforms include Linux, macOS, Windows, ARM, Solaris, and AIX.

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [November 1, 2019, 11:42am UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/4 "2019-11-01T11:42:23Z")

</div>

There is a \*.deb file available for ubuntu.

---

<div class="post-metadata">

**Author:** ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)\
**Post date:** [November 1, 2019, 11:57am UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/5 "2019-11-01T11:57:01Z")

</div>

Works! Thank you!

I didn’t find the .deb.

- I got the AdoptOpenJDK11 .tar.gz
- Unpacked it somewhere
- In Idea
  - open Project Structure \> SDK, add the new SDK folder just unpacked
  - Run \> Edit configurations, in the existing configuration, change JRE to point to the new SDK

- Run program, enjoy 🙂

---

<div class="post-metadata">

**Author:** ![monkstone](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/monkstone/32/64_2.png) [@monkstone](https://discourse.processing.org/u/monkstone)\
**Post date:** [November 1, 2019, 1:53pm UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/6 "2019-11-01T13:53:46Z")

</div>

For future use here’s a link to linux distro releases:-

[Support Matrix](https://github.com/AdoptOpenJDK/openjdk-installer/blob/master/linux/README.md#support-matrix)

---

<div class="post-metadata">

**Author:** ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)\
**Post date:** [November 1, 2019, 2:54pm UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/7 "2019-11-01T14:54:29Z")

</div>

Gee now I see what I did wrong. The Ubuntu openJDK 11 package does indeed work, so no AdoptOpenJDK download required in my case.

There are 5 places where you can change settings related to the version, and I had not changed the important one which is this:

 ![02_sdk](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/9/94fbd6f0bbb2d0caee52e3ab3d9ae8225a202951.png)  
I already had a version 11 there, but it was broken somehow so I deleted all SDKs from the list and I added the right path in `/usr/lib/jvm/` and voilà!

These are the other locations:

 ![01_run_conf](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/1/16ad6f39763b9e4a891af6a33f20d0ee87f46053.png)  
 ![03_more_sdk](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/c/c89877110dd580a5a6d59b323ba1c7eba31c8866.png)  
 ![04_lang_level](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/9/9db508b78422a57d813904b891f1279fc4c16fb4.png)  
 ![05_mod_sdk](https://canada1.discourse-cdn.com/flex036/uploads/processingfoundation1/original/2X/4/499ca48f41d1f52b820de8c5fc94c2e42165c8f4.png)

I forgot how to configure this properly as I didn’t change it in years 😓

---

<div class="post-metadata">

**Author:** ![jeremydouglass](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/jeremydouglass/32/20_2.png) [@jeremydouglass](https://discourse.processing.org/u/jeremydouglass)\
**Post date:** [November 5, 2019, 5:47pm UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/8 "2019-11-05T17:47:15Z")

</div>

Thank you so much for taking the time to document how to do this in IntelliJ Idea, @hamoid – really helpful.

---

<div class="post-metadata">

**Author:** ![hamoid](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/hamoid/32/58_2.png) [@hamoid](https://discourse.processing.org/u/hamoid)\
**Post date:** [December 7, 2020, 3:17pm UTC](https://discourse.processing.org/t/openjdk-10-deprecated-how-to-switch-to-version-11/15107/9 "2020-12-07T15:17:46Z")

</div>

I know this post is a bit old but I thought it might still be relevant. I wanted to give an update on this because things are now different in my two computers:

In my **Ubuntu** 20.04 with GTX1060 using IntelliJ Idea I’m running programs fine with the standard `openjdk-14-jdk` package, the Processing 3.5.4 libraries, using Java 14 features and half of my source code files are now in Kotlin instead of Java.

In my **Archlinux** laptop with Intel Graphics 4600, same IDE, same Processing, same programs fail to run using the ArchLinux `java-14-openjdk` package (`Inconsistency detected by ld.so`) but run fine if I use `jdk-adoptopenjdk` from AUR (which currently comes with version 15).

So the situation seems to be reversed: adoptopenjdk no longer needed in my Ubuntu, but now it is in Arch.

So @monkstone’s suggestion seems to still be valid 🙂
