common-docker icon indicating copy to clipboard operation
common-docker copied to clipboard

java.lang.NoClassDefFoundError: org/apache/kafka/connect/errors/ConnectException on Secret Provider check in ensure script

Open pkleindl opened this issue 2 years ago • 0 comments

Hi I was trying to use the secret provider for Azure Key Vault from lenses.io https://github.com/lensesio/secret-provider https://github.com/lensesio/secret-provider/releases/tag/2.1.6

I added the jar file to the directory used COPY secret-provider-2.1.6-all.jar /usr/share/java/cp-base-new/

When I start the container (confluentinc/cp-kafka-connect-base:latest) I get the following exception:

===> Check if Kafka is healthy ...
Using log4j config /etc/cp-base-new/log4j.properties
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/kafka/connect/errors/ConnectException
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:398)
        at org.apache.kafka.common.utils.Utils.loadClass(Utils.java:419)
        at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:408)
        at org.apache.kafka.common.config.AbstractConfig.instantiateConfigProviders(AbstractConfig.java:577)
        at org.apache.kafka.common.config.AbstractConfig.resolveConfigVariables(AbstractConfig.java:521)
        at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:112)
        at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:146)
        at org.apache.kafka.clients.admin.AdminClientConfig.<init>(AdminClientConfig.java:235)
        at org.apache.kafka.clients.admin.Admin.create(Admin.java:144)
        at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:49)
        at io.confluent.admin.utils.ClusterStatus.isKafkaReady(ClusterStatus.java:136)
        at io.confluent.admin.utils.cli.KafkaReadyCommand.main(KafkaReadyCommand.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.kafka.connect.errors.ConnectException
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 13 more

When I add connect-api-3.4.0.jar to the directory this exception does not occur.

Maybe this class was moved in the past, would probably be good to include the file by default.

pkleindl avatar Mar 08 '23 09:03 pkleindl