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

Reply via email to