Peter Laird created TINKERPOP-3067: -------------------------------------- Summary: gremlin-shaded incomplete shading due to Jackson multi-release classes Key: TINKERPOP-3067 URL: https://issues.apache.org/jira/browse/TINKERPOP-3067 Project: TinkerPop Issue Type: Bug Components: build-release Affects Versions: 3.7.1 Environment: JVM Reporter: Peter Laird
gremlin-shaded is using the Maven shade plugin to package the release jar. Unfortunately, it isn't configured to handle the Jackson multi-release classes, so the shading is incomplete. You can see that by inspecting the contents of the jar (focusing on just {{{}FastIntegerMath below){}}}: {{% jar -tvf gremlin-shaded-3.7.1.jar}} {{...}} {{org/apache/tinkerpop/shaded/jackson/core/io/doubleparser/FastIntegerMath.class}} {{META-INF/versions/11/com/fasterxml/jackson/core/io/doubleparser/FastIntegerMath.class}} {{META-INF/versions/17/com/fasterxml/jackson/core/io/doubleparser/FastIntegerMath.class}} {{META-INF/versions/19/com/fasterxml/jackson/core/io/doubleparser/FastIntegerMath.class}} {{...}} Notice how the shading is only applied to the default version of the class. The multi-release classes are not being shaded. This, in our case, is causing classpath conflicts with our chosen Jackson version. The shading config is here: [https://github.com/apache/tinkerpop/blob/master/gremlin-shaded/pom.xml#L60] According to stackoverflow, the shading plugin has a multi-release option: https://stackoverflow.com/questions/53049346/is-log4j2-compatible-with-java-11/54713830#54713830 -- This message was sent by Atlassian Jira (v8.20.10#820010)