kumuluz / kumuluzee

Lightweight open-source framework for developing microservices using standard Java EE technologies and migrating Java EE to cloud-native architecture.
https://ee.kumuluz.com
MIT License
291 stars 71 forks source link

EeClassLoader doesn't support multi release JAR files #205

Closed Argannor closed 2 years ago

Argannor commented 2 years ago

When using kumuluzee-maven-plugin the Application is bootstrapped using the EeClassLoader. This class loader creates new JarFile instances for each dependency, but does so in a way that can't support multi release JAR files by using the one argument constructor:

new JarFile(tempFile) which sets the JARs version to the JVMs BASE_VERSION which is 8 in current JDKs and therefore skips multi-release-resolution.

This becomes a problem when updating to newer versions of Weld, where this technique is used to support both Java 8 and Java 17.

urbim commented 2 years ago

Fixed in #210