Apache nifi 如何为自定义处理器生成使用说明文件

Apache nifi 如何为自定义处理器生成使用说明文件,apache-nifi,Apache Nifi,我已经创建了几个自定义NiFi处理器,但无法生成使用说明文件。”“用法”文档是指右键单击处理器并选择“用法”,这将显示有关该特定处理器的文档。将显示“文档”面板,但不存在我的自定义处理器 我在自定义处理器类上使用了几个NiFi文档标记,包括几个读/写属性。代码编译和单元测试没有任何问题。构建报告 [信息]正在为NAR中的NiFi扩展生成文档 根据开发者的要求,文档应该是自动生成的 我还尝试创建一个additionalDetails.html文件,并根据文档将其放入nar中 该文件应该存在于一个目

我已经创建了几个自定义NiFi处理器,但无法生成使用说明文件。”“用法”文档是指右键单击处理器并选择“用法”,这将显示有关该特定处理器的文档。将显示“文档”面板,但不存在我的自定义处理器

我在自定义处理器类上使用了几个NiFi文档标记,包括几个读/写属性。代码编译和单元测试没有任何问题。构建报告

[信息]正在为NAR中的NiFi扩展生成文档

根据开发者的要求,文档应该是自动生成的

我还尝试创建一个additionalDetails.html文件,并根据文档将其放入nar中

该文件应该存在于一个目录中,该目录的名称是处理器的完全限定名称,该目录的父目录应该命名为docs,并且存在于处理器的jar的根目录中

然而,这打破了NiFi,我在日志中找到了这个

        === End Processor types ===
2019-08-16 15:16:36,100 WARN [main] org.apache.nifi.web.server.JettyServer Failed to start web server... shutting down.
java.lang.NullPointerException: null
        at org.apache.nifi.documentation.DocGenerator.generate(DocGenerator.java:62)
        at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:932)
        at org.apache.nifi.NiFi.<init>(NiFi.java:158)
        at org.apache.nifi.NiFi.<init>(NiFi.java:72)
        at org.apache.nifi.NiFi.main(NiFi.java:297)
2019-08-16 15:16:36,100 INFO [Thread-1] org.apache.nifi.NiFi Initiating shutdown of Jetty web server...

没有additionalDetails.html文件的生成的.nar将正确加载并显示在处理器列表中。这只是我无法使用的使用说明文件。

我在NiFi电子邮件列表上获得了一些帮助

nar必须包含一个带有处理器的jar。这说明了如何设置maven项目结构:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.myorg</groupId>
  <artifactId>nifi-mylib</artifactId>
  <packaging>nar</packaging>
  <version>0.0.3</version>
  <name>nifi-mylib</name>

  <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
      <nifi.version>1.9.2</nifi.version>
  </properties>

  <dependencies>
      <dependency>
          <groupId>org.apache.nifi</groupId>
          <artifactId>nifi-api</artifactId>
          <version>${nifi.version}</version>
      </dependency>
      ...
  </dependencies>

  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.nifi</groupId>
              <artifactId>nifi-nar-maven-plugin</artifactId>
              <version>1.3.1</version>
              <extensions>true</extensions>
          </plugin>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-surefire-plugin</artifactId>
              <version>2.15</version>
          </plugin>
      </plugins>
  </build>
</project>