Hi Oleg,
Thank you for your quick response. Unfortunately it’s still not working.
I had tried these but had left them out by mistake when I’d tried mutation
coding to get it all running. :-)
I have added them in now so it can be tested. I’m still getting the same error.
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at NifiLogging.processors.LoggingProcessor.App.main(App.java:12)
... 6 more
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 7 more
I think it’s a problem with a conflict in
<parent>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-nar-bundles</artifactId>
<version>0.6.1</version>
<relativePath></relativePath>
</parent>
When I remove it and change
<artifactId>nifi-LoggingProcessor-nar</artifactId>
<version>1.0</version>
<packaging>nar</packaging>
To
<artifactId>nifi-LoggingProcessor-nar</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
it works.
Any ideas?
Cheers,
Donald
> On 13 Jun 2016, at 14:01, Oleg Zhurakousky <[email protected]>
> wrote:
>
> Donald
>
> What I see is that SLF4J is nowhere in your claspath, so by adding it to your
> pom should solve the issue. Also don’t forget to add specific bindings (e.g.,
> log4j) and its implementation.
> Basically here is the example of what you need to have if you want to use
> Log4j:
>
> <dependency>
> <groupId>org.slf4j</groupId>
> <artifactId>slf4j-api</artifactId>
> <version>1.7.21</version>
> </dependency>
> <dependency>
> <groupId>org.slf4j</groupId>
> <artifactId>slf4j-log4j12</artifactId>
> <version>1.7.21</version>
> </dependency>
> <dependency>
> <groupId>log4j</groupId>
> <artifactId>log4j</artifactId>
> <version>1.2.17</version>
> </dependency>
>
> Cheers
> Oleg
>> On Jun 13, 2016, at 7:22 AM, Dr. Donald Leonhard-MacDonald
>> <[email protected] <mailto:[email protected]>> wrote:
>>
>> Hi All,
>>
>> First let me say I’m really enjoying using Nifi, it’s a great project.
>>
>> I have been creating some Processors and they are working very well. Now I
>> want to include processors that talk to RethinkDB.
>> When I include the dependency in Maven I get an
>> java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory Exception.
>>
>> I have been using the getLogger in the processors and that works really well.
>>
>> I thought it might be a versioning issue(as suggested on website), so tried
>> different versions but with no success. Though I can
>> use the log4j when I restrict the scope of the jar to test.
>>
>> So I created several small test frameworks that only imported Log4J and
>> nothing else to try and see what I was doing wrong.
>> As soon as I set the parent of my pom to nifi
>>
>> Here is a very small example that creates the error
>>
>> https://github.com/macd-ci0/nifilogging
>> <https://github.com/macd-ci0/nifilogging>
>>
>> mvn compile
>> mvn exec:java
>>
>> A
>> [WARNING]
>> java.lang.reflect.InvocationTargetException
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>> at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>> at java.lang.reflect.Method.invoke(Method.java:497)
>> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
>> at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
>> at NifiLogging.processors.LoggingProcessor.App.main(App.java:12)
>> ... 6 more
>> Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
>> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>> ... 7 more
>>
>>
>> When I remove the parent element:
>> <parent>
>> <groupId>NifiExcel</groupId>
>> <artifactId>ExcelProcessors</artifactId>
>> <version>1.0</version>
>> </parent>
>> and change the target type from nar->jar in the pom.xml file in the -nar
>> directory It works well.
>> So the conflict is here.
>>
>> I get the same conflict. When I tried to create a copy similar to the pom
>> for the nifi-kafka-bundle/nifi-kafka-processors which
>> also uses Log4J, I get the same problem.
>>
>> I have also tried logback, etc..
>>
>> Any ideas what I am doing wrong. What should I be doing differently?
>>
>> I looked at the mailing list, FAQ and such and I cannot see what I am doing
>> incorrectly.
>>
>> Spinning in circles and hoping for help. :-)
>>
>>
>> Donald
>