Search code examples
jbpmkiedrools-kie-serverkie-server

JBPM 7.73 Docker image, Custom Task fails with Dependency artifact not found for uploaded jar


I'm trying to get a custom task working in the default docker image. Basically I used this

https://github.com/hbelmiro/jbpm-work-item-handler-demo

project adapted the Version to 7.73.final. I then ran maven install and uploaded the custom task via Settings -> "Add Custom Task" in the UI, and set it to "On"

After this I installed the custom task in my space under Settings -> Custom Task and Added the dependency under Dependencies using "Add from repository". When I now want to deploy this using the "Deploy" button I get an exception ERROR [org.kie.scanner.MavenClassLoaderResolver] (default task-30) Dependency artifact not found for: de.piu.datenhaus:addressvalidation:1.1

this is the JAR file however which I uploaded and which is my actual Custom Task (Work Item handler)

How I can solve this issue? I found nothing related to this in the docs or by googling.

This is how the custom task assets preferences looks like:

[
        [
            "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"

        ]

]

The full stack trace is

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 [email protected]//io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:115)
        at [email protected]//io.jaegertracing.internal.reporters.RemoteReporter$FlushCommand.execute(RemoteReporter.java:160)
        at [email protected]//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 [email protected]//io.jaegertracing.thrift.internal.senders.UdpSender.send(UdpSender.java:85)
        at [email protected]//io.jaegertracing.thrift.internal.senders.ThriftSender.flush(ThriftSender.java:113)
        ... 3 more
Caused by: org.apache.thrift.transport.TTransportException: Cannot flush closed transport
        at [email protected]//io.jaegertracing.thrift.internal.reporters.protocols.ThriftUdpTransport.flush(ThriftUdpTransport.java:148)
        at [email protected]//org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:73)
        at [email protected]//org.apache.thrift.TServiceClient.sendBaseOneway(TServiceClient.java:66)
        at [email protected]//io.jaegertracing.agent.thrift.Agent$Client.send_emitBatch(Agent.java:70)
        at [email protected]//io.jaegertracing.agent.thrift.Agent$Client.emitBatch(Agent.java:63)
        at [email protected]//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 [email protected]//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!


Solution

  • This issue can be worked around by adding -SNAPSHOT to the version tag in the pom.xml. I tried this even on a fresh install, which I installed using the installer, got the same error when I do not append -SNAPSHOT to the version.

    This is weired and I do not know how or where to further track down the issue. Maybe someone else has an additional explanation

    Further found out that it only happens if the project is build with a java 1.8 version