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

JBPM 7.73 Docker镜像自定义任务依赖缺失问题求助

问题:JBPM 7.73.final自定义任务部署时依赖找不到

我基于jbpm-work-item-handler-demo项目适配到7.73.final版本,执行maven install后通过JBPM UI的Settings -> Add Custom Task上传自定义任务JAR并启用。接着在空间的Settings -> Custom Task安装该任务,通过"Add from repository"添加依赖,点击Deploy时抛出异常:

ERROR [org.kie.scanner.MavenClassLoaderResolver] (default task-30) Dependency artifact not found for: de.piu.datenhaus:addressvalidation:1.1

这个依赖正是我上传的自定义任务Work Item Handler的JAR文件。

自定义任务资产配置

[
    {
        "name" : "DatenhausAddressSignature",
        "displayName" : "DatenhausAddressSignature",
        "category" : "addressvalidation",
        "description" : "",
        "defaultHandler" : "mvel: new de.piu.datenhaus.addressvalidation.DatenhausAddressSignatureWorkItemHandler()",
        "documentation" : "addressvalidation/index.html",
        "parameters" : {
            "DatenhausAddress" : new StringDataType()
        },
        "results" : {
            "DatenhausAddressSignature" : new StringDataType()
        },
        "mavenDependencies" : [
            "de.piu.datenhaus:addressvalidation:1.1"
        ],
        "icon" : "DatenhausAddressSignatureWorkItemHandler.png"
    }
]

完整堆栈信息

12:19:59,170 INFO  [io.jaegertracing.internal.reporters.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand is working again!
12:20:07,654 INFO  [stdout] (default task-30) [WARNING] The POM for de.piu.datenhaus:addressvalidation:jar:1.1 is missing, no dependency information available
12:20:08,471 WARN  [org.appformer.maven.integration.MavenRepository] (default task-30) Unable to resolve artifact: de.piu.datenhaus:addressvalidation:1.1
12:20:08,765 WARN  [org.appformer.maven.integration.MavenRepository] (default task-30) Unable to resolve artifact: de.piu.datenhaus:addressvalidation:pom:1.1
12:20:08,972 WARN  [org.appformer.maven.integration.MavenRepository] (default task-30) Unable to resolve artifact: de.piu.datenhaus:addressvalidation:1.1
12:20:08,972 ERROR [org.kie.scanner.MavenClassLoaderResolver] (default task-30) Dependency artifact not found for: de.piu.datenhaus:addressvalidation:1.1
12:20:09,356 WARN  [io.jaegertracing.internal.reporters.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand execution failed! Repeated errors of this command will not be logged.: io.jaegertracing.internal.exceptions.SenderException: Failed to flush spans.
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:115)
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.internal.reporters.RemoteReporter$FlushCommand.execute(RemoteReporter.java:160)
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.internal.reporters.RemoteReporter$QueueProcessor.run(RemoteReporter.java:182)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: io.jaegertracing.internal.exceptions.SenderException: Could not send 1 spans
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.thrift.internal.senders.UdpSender.send(UdpSender.java:85)
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:113)
        ... 3 more
Caused by: org.apache.thrift.transport.TTransportException: Cannot flush closed transport
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.flush(ThriftUdpTransport.java:148)
        at org.apache.thrift@0.13.0//org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)
        at org.apache.thrift@0.13.0//org.apache.thrift.TServiceClient.sendBaseOneway(TServiceClient.java:66)
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.agent.thrift.Agent$Client.send_emitBatch(Agent.java:70)
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.agent.thrift.Agent$Client.emitBatch(Agent.java:63)
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.thrift.internal.senders.UdpSender.send(UdpSender.java:83)
        ... 4 more
Caused by: java.net.PortUnreachableException: ICMP Port Unreachable
        at java.base/java.net.PlainDatagramSocketImpl.send(Native Method)
        at java.base/java.net.DatagramSocket.send(DatagramSocket.java:695)
        at io.jaegertracing.jaeger@1.5.0//io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.flush(ThriftUdpTransport.java:146)
        ... 9 more 12:20:10,359 INFO  [io.jaegertracing.internal.reporters.RemoteReporter] (jaeger.RemoteReporter-QueueProcessor) FlushCommand is working again!

操作步骤

  • 适配jbpm-work-item-handler-demo项目至需求
  • 通过JBPM UI上传JAR文件
  • 在空间中安装自定义任务
  • 在依赖项中添加该依赖

解决方法
  1. 检查容器内Maven仓库的依赖文件
    Docker环境下JBPM默认使用/opt/jboss/.m2/repository作为本地仓库,进入容器确认de/piu/datenhaus/addressvalidation/1.1目录存在,且包含addressvalidation-1.1.jar和对应的POM文件。若缺失,将本地构建的JAR和POM复制到该目录。

  2. 核对依赖坐标一致性
    确保自定义任务配置中mavenDependencies的de.piu.datenhaus:addressvalidation:1.1与JAR的实际GAV(groupId、artifactId、version)完全匹配,包括大小写。

  3. 补全POM文件
    堆栈提示POM缺失,需确认maven install生成了正确的POM文件,上传时将JAR和POM一同上传,或手动在容器仓库目录添加POM文件。

  4. 刷新JBPM仓库索引
    进入JBPM UI的Settings -> Maven Repositories,点击刷新按钮,触发系统重新扫描本地仓库依赖。

  5. 手动输入依赖坐标
    若"Add from repository"无法识别依赖,直接手动输入完整GAV坐标添加,规避仓库索引同步问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:40:34