io.trino.plugin.jdbc.JdbcPlugin Unable to get public no-arg constructor

Hi Trino community,

I am trying to add base-jdbc plugin to the trino cluster.
I have added base-jdbc dir in plugin and added all the required jars.
Including “trino-base-jdbc-364-services.jar” with META-INF.service (io.trino.spi.Plugin) as below

io.trino.plugin.jdbc.JdbcPlugin

but getting below error

java.util.ServiceConfigurationError: io.trino.spi.Plugin: io.trino.plugin.jdbc.JdbcPlugin Unable to get public no-arg constructor
	at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:582)
	at java.base/java.util.ServiceLoader.getConstructor(ServiceLoader.java:673)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1233)
	at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1265)
	at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1300)

Caused by: java.lang.NoSuchMethodException: io.trino.plugin.jdbc.JdbcPlugin.<init>()
	at java.base/java.lang.Class.getConstructor0(Class.java:3349)
	at java.base/java.lang.Class.getConstructor(Class.java:2151)

Base-jdbc is is a framework (library) to create JDBC based connectors. It is not a connector yet so it cannot be used as such.

1 Like