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
>

Reply via email to