You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache NiFi自定义处理器构建报错:非NiFi依赖禁用SNAPSHOT版本

解决NiFi自定义处理器NAR包构建SNAPSHOT版本报错问题

核心原因

NiFi的NAR构建插件默认禁止非Apache NiFi生态的组件(包括你的自定义处理器模块)使用SNAPSHOT版本,这是为了保证构建产物的稳定性和可追溯性。

具体解决步骤

  • 修改自定义处理器模块版本
    打开处理器模块的pom.xml,将<version>1.0-SNAPSHOT</version>替换为正式版本号,比如:

    <version>1.0</version>
    
  • 清理非NiFi的SNAPSHOT依赖
    遍历pom.xml中的<dependencies>节点,找到所有groupId不是org.apache.nifi开头的依赖:

    • 如果是第三方依赖,将其版本从xxx-SNAPSHOT改为对应的正式发布版本(例如com.google.guava:guava:32.1.3-jre而非32.1.3-SNAPSHOT)。
    • 如果是你本地开发的关联模块,先执行mvn clean install -DskipTests将该模块以正式版本安装到本地Maven仓库,再更新处理器模块的依赖版本。
  • 重新执行构建
    运行以下命令重新构建NAR包:

    mvn clean package
    

临时允许SNAPSHOT(仅开发环境)

如果开发阶段确实需要保留SNAPSHOT依赖,可以在NAR模块的pom.xml中修改NAR插件配置,允许SNAPSHOT依赖:

<plugin>
    <groupId>org.apache.nifi</groupId>
    <artifactId>nifi-nar-maven-plugin</artifactId>
    <version>${nifi.version}</version>
    <extensions>true</extensions>
    <configuration>
        <allowSnapshotDependencies>true</allowSnapshotDependencies>
    </configuration>
</plugin>

⚠️ 注意:此配置仅用于本地开发调试,正式发布必须移除并使用正式版本依赖。

内容的提问来源于stack exchange,提问作者Giorgi Tsiklauri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:45:43