You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@bookkeeper.apache.org by GitBox <gi...@apache.org> on 2022/09/30 14:20:01 UTC

[GitHub] [bookkeeper] mfremont commented on issue #3511: circe-checksum, cpu-affinity and native-io contain invalid maven metadata in pom.xml for packaging

mfremont commented on issue #3511:
URL: https://github.com/apache/bookkeeper/issues/3511#issuecomment-1263639148

   I've encountered this bug when running a client that has a transitive dependency on `org.apache.bookkeeper::circe-checksum` and built with Gradle. When run in a Docker container that has a base image of openjdk:11 or openjdk:17, I get the same `NoClassDefFoundError: com/scurrilous/circe/checksum/Crc32cIntChecksum` failure.
   
   I experimented with changing the packaging in the POM to `jar`, installing the library in my local m2 repo, and rebuilding my client app. When the transitive dep is a jar, the class loader finds `Crc32cIntChecksum` and I get the fall back message:
   
   > `WARN  com.scurrilous.circe.checksum.Crc32cIntChecksum - Failed to load Circe JNI library. Falling back to Java based CRC32c provider`
   
   The Gradle build is creating a fat jar for my client app. If it includes `circe-checksum` as a `.nar`, then the class loader doesn't find the class when running in the container, but it does when the build includes `circe-checksum` as a `.jar`.
   
   For reasons I cannot explain, when running my client app with Gradle `run` on macOS, I get the fall back message with the `.nar`.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@bookkeeper.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org