Captain-P-Goldfish/scim-for-keycloak

Split package warnings on Keycloak startup when extension is installed

Opened this issue · 2 comments

Thanks for the plugin! When I install it, it appears to function as intended, but I get warnings logged (see end of ticket).

It looks like your release binary is including the classes for Jackson and SLF4J in addition to the classes for the extension itself. Is this intentional and needed?

I'm trying to set up an automated using an embedded Keycloak server, and in that context the bundled Jackson results in a version conflict, as the Jackson you're bundling is older than the one used by the main application, resulting in a NoSuchMethodError.

java.lang.NoSuchMethodError: 'com.fasterxml.jackson.databind.node.ObjectNode com.fasterxml.jackson.databind.node.ObjectNode.withObject(java.lang.String)'

If possible, I think it would be desirable to stop bundling these classes in the release JAR.

I'm currently working with scim-for-keycloak-kc-18-b2 and Keycloak 20.0.2

2023-01-18 16:12:38,622 WARN  [io.quarkus.arc.deployment.SplitPackageProcessor] (build-34) Detected a split package usage which is considered a bad practice and should be avoided. Following packages were detected in multiple archives:
- "com.fasterxml.jackson.core.json" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.exc" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.jsonschema" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.slf4j.event" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.ext" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.util" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.function" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.deser.impl" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.ser.impl" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.deser.std" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.builder" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.annotation" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.arch" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.event" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.cfg" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.slf4j.spi" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.json.async" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.filter" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.jsonFormatVisitors" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.exc" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.reflect" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.module" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.tuple" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.time" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.deser" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.slf4j" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.text" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.slf4j.helpers" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.annotation" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.util" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.compare" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.json" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.ser" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.async" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.jsontype.impl" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.exception" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.mutable" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.jsontype" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.format" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.type" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.concurrent" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.node" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.stream" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.math" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.io" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.base" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.core.sym" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.introspect" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.text.translate" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.ser.std" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.type" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "com.fasterxml.jackson.databind.jdk14" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]
- "org.apache.commons.lang3.concurrent.locks" found in [/Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/keycloak-system-identity-all.jar, /Users/dcarr/repos/ge-scim/keycloak-app/build/keycloak/lib/../providers/scim-for-keycloak-kc-18-b2.jar]

I actually haven't prepared this extension for keycloak 20 yet.
The current head was prepared for keycloak 18 and 19.

But you are right that it might be a good idea for future tests to exclude dependencies that are already delivered by keycloak.

On the plus side, other than this, so far it looks to be functional on Keycloak 20, so it may not need much updating.