JDK11 usage in MicroEJ SDK

Hi MicroEJ Team,

I see in the last SDK Changelog for version 5.6.0 (SDK Distribution Changelog — MicroEJ Documentation) that it supports now JDK11.

I am a little bit confused, with the different usages of Java by microEJ.
I can see different place where a java version is involved: the MEJ32 VEE, the simulator, and the java version on which eclipse run, maybe there are others?

I assume that here you are talking abouth the JDK version on which MicroEJ SDK, and by the way eclipse is running. Am I right?

For the simulator, in the past I wanted to test my java application with an other version of Java. I changed the Runtime JRE in the launcher JRE tab to do that.
See :

With this update of MicroEJ SDK, will the default JRE be JDK11? Could this have an impact on the execution of my application on the simulator?

Finally, talking about the MEJ32 VEE, does this update have any impact on the Java instruction set supported?

Thanks for your answer,
Regards

Anton Waterwheel

Hello,

I assume that here you are talking abouth the JDK version on which MicroEJ SDK, and by the way eclipse is running. Am I right?

Yes, the SDK Distribution 22.06 (based on Eclipse) requires a JDK 11 to run, as stated in the documentation.

With this update of MicroEJ SDK, will the default JRE be JDK11? Could this have an impact on the execution of my application on the simulator?

If you use the SDK Distribution 22.06, the default JRE used in new workspaces will be the JDK 11 since it is the one used to run the SDK Distribution.
As of the execution of the application, it depends on the version of the Architecture you use. If you use an Architecture 7.17.0 it should work since JDK 11 is supported from this version of Architecture. But if you use an older Architecture version, you must stick to a JDK 8.

Finally, talking about the MEJ32 VEE, does this update have any impact on the Java instruction set supported?

No, there is no impact, the VEE supports Java 7 only.

As a summary:

  • if you use an Architecture 7.17.0 or higher, you can build and run the application with a JDK 11, and therefore you can use the SDK Distribution 22.06
  • if you use an Architecture 7.16.0 or lower, you must stick to JDK 8 and therefore it is easier to use the SDK Distribution 21.11 + SDK 5.6.1
  • applications must still be compliant with Java 7

Regards

Thank you for your quick answer.
This is clear.

Just to confirm, if I update to SDK distribuition 22.06 and I still have some application projects using architecture with version is below 7.17, I will have to change the runtime JRE in the application laucher. Right?

Thanks

Anton Waterwheel

Right, and in Window > Preference > MicroEJ > Module Manager > Runtime JRE for the applications and platforms builds.