Hi @Thomas2 , The Error: Could not find or load main class io.camunda.connector.runtime.app.ConnectorRuntimeApplication
means that the connector JAR you’re trying to run is not a full executable application — it’s just a connector implementation, not a “standalone Spring Boot application” like the standard connectors-bundle image expects.
In Camunda 8 Self-Managed, the Connectors Runtime container is a Spring Boot app that scans for connector “function” beans inside its classpath.
When you mount your custom connector JAR, it should not try to replace the Connectors Runtime app, but simply be loaded into the Connectors Runtime classpath.
Your mistake seems to be trying to boot your custom connector JAR as a separate application, but the JAR you built (from Infosys’ repo) doesn’t include the main application class (io.camunda.connector.runtime.app.ConnectorRuntimeApplication)
— that’s why you get that error.
To fix this properly:
-
Keep using the official Camunda Connectors Runtime container (e.g., camunda/connectors-bundle:latest).
-
Mount your custom connector JAR into the container, into a folder that’s on the classpath, e.g., /opt/connectors.
-
Tell the Connectors Runtime to scan your custom JAR by setting an environment variable:
CAMUNDA_CONNECTOR_CUSTOM_CONNECTORS_ENABLED=true
-
Optionally, override classpath or extend the connectors runtime by creating a custom docker image if needed.
Assume you built the SMTP connector as connector-smtp-1.0.0.jar.
docker-compose.override.yml or directly inside docker-compose.yml:
connectors:
image: camunda/connectors-bundle:latest
environment:
- CAMUNDA_CONNECTOR_CUSTOM_CONNECTORS_ENABLED=true
volumes:
- ./connectors:/opt/connectors
Your folder structure:
./connectors/connector-smtp-1.0.0.jar
The official Connectors Runtime will auto-scan /opt/connectors for JARs containing Beans.
• Do NOT try to “start” your JAR manually.
• Just drop your JAR into a directory mounted inside the container (like /opt/connectors).
• Set CAMUNDA_CONNECTOR_CUSTOM_CONNECTORS_ENABLED=true.
• Camunda Connectors Runtime auto-scans and finds the SMTP connector.
• Then, you can use it by uploading or referencing its Element Template in the Modeler.
If your SMTP connector is not a Spring Bean yet (it should implement the InboundConnectorFunction or OutboundConnectorFunction), make sure the @OutboundConnector or @InboundConnector annotations are properly present.