Hi,
I have developed some custom processors within single Maven project (lets
call this project custom-processors). These processors need Hadoop
dependencies (nifi-hadoop-nar), record-serde related dependencies
(nifi-record-serialization-service-api) and Kerberos dependencies apart
from usual NiFI dependencies.
In pom.xml file of NAR, when I mentioned "nifi-standard-services-api-nar"
as shown below
<dependency>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-standard-services-api-nar</artifactId>
<version>1.9.2</version>
<type>nar</type>
</dependency>
NAR loading failed in NiFi with ClassNotFoundException. NiFi was not able
to find Hadoop related dependencies.
So to solve this problem I found 2 options:
1. either remove *provided* scope from all Hadoop dependencies and let
those jars get bundled in NAR but then I have to add all the dependencies
which can make NAR bulky
2. Mention "nifi-hadoop-nar" in NAR's pom.xml but with this approach NiFi
complains about NiFi related ClassNotFound and I have to add all the NiFI
dependencies in NAR
Now I understand that we can give only one NAR as a dependency in our
custom processor.
So I would like to know
1) what is the best way to specifiy multiple NiFi bundles in the processor?
2) Is it a good idea to put all the custom processors in single Maven
project or should I create separate Maven project for each custom processor?
Regards,
Chandra