Reputation: 302
I have following project structure
nifi-basename-bundle
├── nifi-basename-nar
│ └── pom.xml
├── nifi-basename-processors
│ ├── pom.xml
| ├── libs
| | └── xyz.jar
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── org.apache.nifi.processors.basename
│ │ │ └── MyProcessor.java
│ │ └── resources
│ │ ├── META-INF
│ │ │ └── services
│ │ └── org.apache.nifi.processor.Processor
│ └── test
│ └── java
│ └── org.apache.nifi.processors.basename
│ └── MyProcessorTest.java
└── pom.xml
My nifi-basename-nar
project has a dependency of nifi-basename-processors
project as below:
<dependency>
<groupId>com.example.prj</groupId>
<artifactId>nifi-basename-processors</artifactId>
<version>1.0.0</version>
</dependency>
I have added a dependency of an external jar in the pom.xml of nifi-basename-processors
project like below and my custom processor is referring to classes in this jar:
<dependency>
<groupId>com.example.prj</groupId>
<artifactId>test1</artifactId>
<version>1.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/libs/xyz.jar</systemPath>
</dependency>
Once I build the project using maven clean install
, the nar generated under project nifi-basename-nar
does not have the xyz.jar
bundled inside it. Hence it throws NoClassDefFoundError
and nifi cannot start when this custom nar is deployed in nifi.
What is the correct way to handle this requirement?
Upvotes: 0
Views: 759