微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用于参考控制器服务的多个NAR依赖项

如何解决用于参考控制器服务的多个NAR依赖项

我正在开发使用DBcpserviceRecordReader自定义处理器。

对于Maven项目,我无法添加两个服务的NAR依赖项,因为这会导致错误

对于我的处理器模块,pom.xml,


    <dependencies>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-utils</artifactId>
            <version>1.12.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-mock</artifactId>
            <version>1.12.0</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-dbcp-service-api</artifactId>
            <version>1.12.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-record-serialization-service-api</artifactId>
            <version>1.12.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-record</artifactId>
            <version>1.12.0</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

对于我的processor-nar子模块,

 <dependencies>
        <dependency>
            <groupId>com.suntecgroup.xelerate</groupId>
            <artifactId>nifi-record-processors</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-record-serialization-services-nar</artifactId>
            <version>1.12.0</version>
            <type>nar</type>
        </dependency>
        <dependency>
            <groupId>org.apache.nifi</groupId>
            <artifactId>nifi-dbcp-service-nar</artifactId>
            <version>1.12.0</version>
            <type>nar</type>
        </dependency>
    </dependencies>

如何将两个控制器服务的依赖项添加到处理器?

解决方法

NAR依赖项应该在包含服务API的NAR上,而不是在包含那些API的实现的NAR上。因此,在您的示例中,nifi-dbcp-service-apinifi-record-serialization-service-api都是nifi-standard-services-api-nar的一部分,因此您只需要这样做:

<dependency>
  <groupId>org.apache.nifi</groupId>
  <artifactId>nifi-standard-services-api-nar</artifactId>
  <version>1.12.0</version>
  <type>nar</type>
</dependency>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。