I am using the confluent docker for Kafka connect v4.1.1 and would like to add a jar with specific log4j appenders.
With the classpath isolation by connector, I am not sure where to place that jar in the confluent docker, as it is used by the parent kafka connect itself and not the connectors.
Thanks in advance for the help!

- 179,855
- 19
- 132
- 245

- 95
- 1
- 5
-
What happens when you just pick any directory for the `plugin.path`? – OneCricketeer Jun 15 '18 at 11:30
-
Then I get a class not found – Cherif Naggar Jun 17 '18 at 00:32
2 Answers
If you want to add a jar that will be used by the Connect framework and is not specific to any of the connectors, you have the following options:
Add the
jar
to the classpath with:-e CLASSPATH=/path/to/custom/library.jar
Copy the
jar
directly to the directory that includes the Kafka Connect framework. In Confluent docker images this is currently:/usr/share/java/kafka
You need to make sure this jar
is not in conflict with any of the dependencies of Kafka Connect.

- 1
- 1

- 1,855
- 14
- 15
-
I remember trying no.2 but without success, will see if I did anything wrong and also give no.1 a shot. Thanks! – Cherif Naggar Jun 17 '18 at 00:33
-
2
For me, it didn't work on /usr/share/java/
and for what I've seen, the Kafka Connect Docker uses a different path in Standalone than in Distributed mode.
Running something like ps aux | grep java
in your running instance will show you the paths it's loading, you'll see something like: java -cp /usr/share/java/cp-base-new/*
In Standalone it's using /usr/share/java/cp-base-new/
In Distributed mode it uses more paths, one of them is /etc/kafka-connect/jars/

- 4,601
- 3
- 21
- 29