Describe the bug
Operaton release 2.1.0 contains jackson-module-scala_2.13-2.21.2.jar as a dependency originating from feel-engine-1.21.0
This was introduced to camunda-feel-engine with camunda/feel-scala#1031
The classes in this jar file are actually shaded in feel-engine-1.21.0-scala-shaded.jar and properly reference the shaded library classes of scala-library which are prefixed with the package "camundajar.impl.". The class files in jackson-module-scala_2.13-2.21.2.jar however reference the unshaded classes from the original scala library.
Because the shaded jackson classes are not properly prefixed with a shade package and use the same package names as the original ones, if the original classes are loaded first, a NoClassDefFoundError may occur when classes from feel-engine are loaded.
I think that, similar to scala-library, jackson-module-scala should be excluded from the dependency tree of operaton-engine.
To Reproduce
Steps to reproduce the behavior:
- Start an application using operaton-engine 2.1.0 where the classpath orders jackson-module-scala_2.13-2.21.2.jar before feel-engine-1.21.0-scala-shaded.jar
- A NoClassDefFoundError occurs when instantiating a DmnEngine using FEEL: java.lang.NoClassDefFoundError: scala/collection/immutable/Seq
Expected behavior
Shaded classes should be loaded from feel-engine-1.21.0-scala-shaded.jar
Additional context
As a workaround I manually removed jackson-module-scala from the classpath when running operaton.
Describe the bug
Operaton release 2.1.0 contains jackson-module-scala_2.13-2.21.2.jar as a dependency originating from feel-engine-1.21.0
This was introduced to camunda-feel-engine with camunda/feel-scala#1031
The classes in this jar file are actually shaded in feel-engine-1.21.0-scala-shaded.jar and properly reference the shaded library classes of scala-library which are prefixed with the package "camundajar.impl.". The class files in jackson-module-scala_2.13-2.21.2.jar however reference the unshaded classes from the original scala library.
Because the shaded jackson classes are not properly prefixed with a shade package and use the same package names as the original ones, if the original classes are loaded first, a NoClassDefFoundError may occur when classes from feel-engine are loaded.
I think that, similar to scala-library, jackson-module-scala should be excluded from the dependency tree of operaton-engine.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Shaded classes should be loaded from feel-engine-1.21.0-scala-shaded.jar
Additional context
As a workaround I manually removed jackson-module-scala from the classpath when running operaton.