Java NIFI:未找到适用于此属性的控制器服务类型

Java NIFI:未找到适用于此属性的控制器服务类型,java,maven,apache-nifi,Java,Maven,Apache Nifi,我正在为ApacheNIFI开发一个MILOOPCUA处理器和服务。 处理器和服务编译得很好,我可以用它们启动NiFi。但是,当尝试为我刚才添加的处理器配置服务时,它只是说“没有找到适用于此属性的控制器服务类型” 以下是我的POM: 处理器JAR <parent> <groupId>com.tcon</groupId> <artifactId>pubsub</artifactId> <version>

我正在为ApacheNIFI开发一个MILOOPCUA处理器和服务。 处理器和服务编译得很好,我可以用它们启动NiFi。但是,当尝试为我刚才添加的处理器配置服务时,它只是说“没有找到适用于此属性的控制器服务类型”

以下是我的POM:

处理器JAR

<parent>
    <groupId>com.tcon</groupId>
    <artifactId>pubsub</artifactId>
    <version>0.1</version>
</parent>

<artifactId>nifi-pubsub-processors</artifactId>
<packaging>jar</packaging>

<dependencies>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-utils</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-mock</artifactId>
        <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>tcon</groupId>
        <artifactId>nifi-miloservice-api</artifactId>
        <version>0.1</version>
    </dependency>
</dependencies>
<parent>
    <groupId>com.tcon</groupId>
    <artifactId>pubsub</artifactId>
    <version>0.1</version>
</parent>

<artifactId>nifi-pubsub-nar</artifactId>
<version>0.1</version>
<packaging>nar</packaging>
<properties>
    <maven.javadoc.skip>true</maven.javadoc.skip>
    <source.skip>true</source.skip>
</properties>

<dependencies>
    <dependency>
        <groupId>com.tcon</groupId>
        <artifactId>nifi-pubsub-processors</artifactId>
        <version>0.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-standard-services-api-nar</artifactId>
        <version>1.2.0</version>
        <type>nar</type>
    </dependency>
</dependencies>

com.tcon
pubsub
0.1
nifi子处理器
罐子
org.apache.nifi
nifi api
org.apache.nifi
nifi-utils
org.apache.nifi
nifi模拟
测试
org.slf4j
slf4j简单
测试
朱尼特
朱尼特
测试
tcon
nifi miloservice api
0.1

处理器NAR

<parent>
    <groupId>com.tcon</groupId>
    <artifactId>pubsub</artifactId>
    <version>0.1</version>
</parent>

<artifactId>nifi-pubsub-processors</artifactId>
<packaging>jar</packaging>

<dependencies>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-utils</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-mock</artifactId>
        <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>tcon</groupId>
        <artifactId>nifi-miloservice-api</artifactId>
        <version>0.1</version>
    </dependency>
</dependencies>
<parent>
    <groupId>com.tcon</groupId>
    <artifactId>pubsub</artifactId>
    <version>0.1</version>
</parent>

<artifactId>nifi-pubsub-nar</artifactId>
<version>0.1</version>
<packaging>nar</packaging>
<properties>
    <maven.javadoc.skip>true</maven.javadoc.skip>
    <source.skip>true</source.skip>
</properties>

<dependencies>
    <dependency>
        <groupId>com.tcon</groupId>
        <artifactId>nifi-pubsub-processors</artifactId>
        <version>0.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.nifi</groupId>
        <artifactId>nifi-standard-services-api-nar</artifactId>
        <version>1.2.0</version>
        <type>nar</type>
    </dependency>
</dependencies>

com.tcon
pubsub
0.1
耻骨下动脉
0.1
纳尔
真的
真的
com.tcon
nifi子处理器
0.1
org.apache.nifi
nifi标准服务api nar
1.2.0
纳尔

服务POM应该不重要,好吧。除了一些Milo依赖项之外,它们还没有被修改

如您所见,处理器JAR POM具有来自我的定制服务的定制服务API依赖,处理器NAR POM具有来自nifi的标准API依赖

文件说,这就是我需要做的一切,以“链接”我的处理器到我的服务


我缺少什么?

您还需要通过在processor JAR项目的src/main/resources文件夹中包含一个文件,向ServiceLoader注册控制器服务。您需要在resources文件夹下有一个META-INF/services文件夹,其中有一个名为
org.apache.nifi.controller.ControllerService的文件,其中有一行包含实现ControllerService接口的类的完全限定名。

结果表明这就是问题所在。但是我还需要控制器的服务api JAR依赖项和完整的服务JAR依赖项。我做错什么了吗?谢谢你的建议。