That is correct. Currently, each NAR can only have a single NAR dependency. Typically we package the Controller Service APIs together or establish a chain. By establishing a chain this is building a transitive NAR dependency. Any Controller Service APIs bundled in ancestor NARs will be available.
Note, I'm specifically calling out Controller Service APIs as the implementations of the Controller Services do not need to be in this NAR dependency chain I'm describing. They can be bundled in a separate adjacent NARs that share the same Controller Service API NAR dependency. Thanks Matt On Tue, Sep 6, 2016 at 6:27 AM, Shashi Vishwakarma <[email protected] > wrote: > Hi > > I am developing a two custom processor , one having a dependency on > controller service 1 and another having a dependency on controller service > 2. > > In processor nar pom , i tried to include both dependency as below. > > <dependency> > <groupId>com.abc.nifi</groupId> > <artifactId>nifi-custom1-service-api-nar</artifactId> > <version>0.3.0-SNAPSHOT</version> > <type>nar</type> > </dependency> > > <dependency> > <groupId>com.abc.nifi.services</groupId> > <artifactId>nifi-custom2-services-nar</artifactId> > <version>0.3.0-SNAPSHOT</version> > <type>nar</type> > </dependency> > > After compiling , it is giving following error. > > Failed to execute goal org.apache.nifi:nifi-nar-maven-plugin:1.1.0:nar > (default-nar) on project nifi-custom-nar: Error assembling NAR: Each NAR > represents a ClassLoader. A NAR dependency allows that NAR's ClassLoader to > be used as the parent of this NAR's ClassLoader. As a result, only a single > NAR dependency is allowed. > > Does that means I cant not include two nar dependency? Is there any > way/workaround for this? > > Thanks > Shashi >
