strdn / rundeck-jdbc-executor-plugin

6 stars 9 forks source link

java.lang.ClassNotFoundException: org.apache.log4j.Logger #12

Closed ext94053 closed 3 years ago

ext94053 commented 3 years ago

Describe the bug The plugin is not working, in the log print exception

My Rundeck detail

Rundeck version: 3.3.6 install type: war OS Name/version: Red Hat Linux 8 DB Type/version: [choose: mysql, postgres, mssql, oracle, ... ] To Reproduce Steps to reproduce the behavior:

copy rundeck-jdbc-executor-plugin-0.1.jar in libext start rundeck

The error is: in the log write

com.dtolabs.rundeck.core.plugins.PluginException: Error loading class: com.github.strdn.rundeck.plugin.jdbcexecutor.GroovySQLCommandPlugin at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.loadClass(JarPluginProviderLoader.java:440) at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.listProviders(JarPluginProviderLoader.java:594) at com.dtolabs.rundeck.core.plugins.DirPluginScanner.listProviders(DirPluginScanner.java:225) at com.dtolabs.rundeck.core.plugins.DirPluginScanner.listProviders(DirPluginScanner.java:150) at com.dtolabs.rundeck.core.plugins.FilePluginCache.listProviders(FilePluginCache.java:125) at com.dtolabs.rundeck.core.plugins.PluginManagerService.listProviders(PluginManagerService.java:112) at com.dtolabs.rundeck.core.plugins.PluggableProviderRegistryService.listProviders(PluggableProviderRegistryService.java:100) at com.dtolabs.rundeck.core.plugins.configuration.DescribableServiceUtil.listDescriptions(DescribableServiceUtil.java:49) at com.dtolabs.rundeck.core.execution.service.NodeExecutorService.listDescriptions(NodeExecutorService.java:117) at com.dtolabs.rundeck.core.plugins.configuration.DescribableService$listDescriptions.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) at rundeck.services.PluginApiService$_listPluginsDetailed_closure1.doCall(PluginApiService.groovy:69) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041) at groovy.lang.Closure.call(Closure.java:405) at groovy.lang.Closure.call(Closure.java:421) at org.codehaus.groovy.runtime.DefaultGroovyMethods.collectEntries(DefaultGroovyMethods.java:4103) at org.codehaus.groovy.runtime.DefaultGroovyMethods.collectEntries(DefaultGroovyMethods.java:4010) at org.codehaus.groovy.runtime.DefaultGroovyMethods.collectEntries(DefaultGroovyMethods.java:4035) at org.codehaus.groovy.runtime.dgm$96.invoke(Unknown Source) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:244) at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127) at rundeck.services.PluginApiService.listPluginsDetailed(PluginApiService.groovy:67) at rundeck.services.PluginApiService$listPluginsDetailed.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119) at rundeckapp.init.PluginCachePreloader.boostrap(PluginCachePreloader.groovy:32) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:266) at grails.events.subscriber.MethodSubscriber.call(MethodSubscriber.groovy:47) at org.grails.events.EventSubscriberTrigger.proceed(EventSubscriberTrigger.groovy:34) at org.grails.events.bus.ExecutorEventBus$_buildNotificationCallable_closure1$_closure3.doCall(ExecutorEventBus.groovy:36) at org.grails.events.bus.ExecutorEventBus$_buildNotificationCallable_closure1$_closure3.call(ExecutorEventBus.groovy) at groovy.lang.Closure.run(Closure.java:486) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger at com.github.strdn.rundeck.plugin.jdbcexecutor.GroovySQLCommandPlugin.(GroovySQLCommandPlugin.java:33) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:398) at com.dtolabs.rundeck.core.plugins.JarPluginProviderLoader.loadClass(JarPluginProviderLoader.java:435) ... 54 more Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Logger at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at com.dtolabs.rundeck.core.plugins.LocalFirstClassLoader.loadClass(LocalFirstClassLoader.java:58) at com.dtolabs.rundeck.core.plugins.LocalFirstClassLoader.loadClass(LocalFirstClassLoader.java:44) ... 58 more

shark5450 commented 3 years ago

Rundeck is no longer including log4j jars in their 3.3x releases.

ext94053 commented 3 years ago

Hi

So this plugin can no longer be used in versions 3.3x??

Thanks a lot

strdn commented 3 years ago

Hello! Sorry for not answering for so long. I looked today at the problem of plugin compatibility with the current Rundeck. I managed to fix it, everything worked fine. I will release an update in the coming days. Really.

strdn commented 3 years ago

Please take a look at the new release. Note that groovy-jsr223 jar must also be added to the lib/ directory.

ext94053 commented 3 years ago

Hi strdn

I install the new version, the error now is

Failed: ConfigurationFailure: com.dtolabs.rundeck.core.plugins.configuration.ConfigurationException: jdbc driver class not foundoracle.jdbc.driver.OracleDriver

where do I have to copy the driver jars? My installation is: install type: war

Thanks a lot

strdn commented 3 years ago

I tested with installation via rpm repository, in this case path is /var/lib/rundeck/lib. As I understand documentation, with war installation type this path must be $RDECK_BASE/lib. And in both cases this is the same directory used for groovy jar's

ext94053 commented 3 years ago

Hi strdn

Thanks a lot, it's works!!!

The path with war installation is $RDECK_BASE/server/lib

Regards