Java JDK 11 Breaking Old Jars/Programs

不羁的心 提交于 2019-12-06 10:37:06

Java strongly tries to be backward compatible but sometimes changes that are not backward compatible are necessary to evolve the ecosystem. Up until now they were released as part of a big release e.g. Java 9, 10, 11. You are most likely affected by Java 11's JEP 320: Remove the Java EE and CORBA Modules.

Remember that Java 8 was released in 2014. For 5 years Oracle and the community provided patches and security fixes for Java 8 but supplying these forever is impossible.

The issue you are facing is likely not an incompatiblity w.r.t. the bytecode. It is just a missing class.

Java 11 dropped the support of some old technologies - for example Java Applets. If you run a Java 8 Applet in a Java 11 JDK / JRE you will get a ClassNotFound exception just because Java 11 does not provide the class / jar.

Similarly for JavaFX, which still exists, but is not longer part of the Java Distribution. You have to add it as a separate Jar.

I believe it would be possible to add these classes to a project. Personally I would like to see a port.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!