Hi,
I am trying to deploy postgresql jdbc plugin, but I am getting class not found exception as below. The jdbc jar is loaded in cdap artifacts. It is working on my standalone VM, but I got this error on distributed. please help
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.postgresql.Driver
at com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:294)
at com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:281)
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
at co.cask.cdap.internal.app.runtime.distributed.AbstractProgramTwillRunnable.run(AbstractProgramTwillRunnable.java:305)
at org.apache.twill.internal.container.TwillContainerService.doRun(TwillContainerService.java:130)
at org.apache.twill.internal.AbstractTwillService.run(AbstractTwillService.java:179)
at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:52)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.postgresql.Driver
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.executeAll(WorkflowDriver.java:580)
at co.cask.cdap.internal.app.runtime.workflow.WorkflowDriver.run(WorkflowDriver.java:557)
at com.google.common.util.concurrent.AbstractExecutionThreadService$1$1.run(AbstractExecutionThreadService.java:52)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
This is the json file
{
"parents": [ "system:cdap-data-pipeline[3.5.1,3.5.1]" ],
"plugins":
[
{
"name" : "postgresql",
"type" : "jdbc",
"className" : "org.postgresql.Driver",
"description" : "Plugin for PostgreSQL JDBC driver"
}
]
}
Thanks,
Haneesha