首页 > 解决方案 > 简单的 Quarkus Kogito 项目无法构建 - 几个模棱两可且不满足的依赖项

问题描述

我有一个非常简单的项目,我正在试验 BPM(Quarkus、Kogito、jBPM 和 Drools),但它无法在 Java 11 上构建。这是 github 存储库:https ://github.com/JoaoCamposFrom94/bpmdemo/tree /2808d87428ddb91c43c0b2554a5808ca4299293e

该项目有几个 REST 端点,它们将表单保存在哈希图中。我打算通过使用 drools 来验证端点 POST /demo/form/{id} 上的某些字段,并通过启动一个在端点 POST /demo/form 上执行任意 java 代码的简单进程来使用 jBPM 来试验。

通过运行,mvn compile quarkus:dev我在一些生成的代码中遇到错误。

import org.kie.kogito.Config;

@javax.inject.Singleton()
public class Application implements org.kie.kogito.Application {

    @org.eclipse.microprofile.config.inject.ConfigProperty(name = "kogito.service.url", defaultValue = "")
    java.lang.String kogitoService;

    @javax.inject.Inject()
    org.kie.kogito.Config config;

    public Config config() {
        return config;
    }
}
...
(class changed for brevity)
11:16:28,528 ERROR [io.qua.dev.DevModeMain] Failed to start Quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
        [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: Found 4 deployment problems: 
[1] Ambiguous dependencies for type org.kie.kogito.Application and qualifiers [@Default]
        - java member: com.demo.form.CreateFormProcessResource#application
        - declared on CLASS bean [types=[com.demo.form.CreateFormProcessResource], qualifiers=[@Default, @Any], target=com.demo.form.CreateFormProcessResource]
        - available beans:
                - CLASS bean [types=[org.kie.kogito.app.Application, java.lang.Object, org.kie.kogito.Application], qualifiers=[@Default, @Any], target=org.kie.kogito.app.Application]
                - CLASS bean [types=[com.demo.poc.Application, java.lang.Object, org.kie.kogito.Application], qualifiers=[@Default, @Any], target=com.demo.poc.Application]
[2] Ambiguous dependencies for type org.kie.kogito.Config and qualifiers [@Default]
        - java member: org.kie.kogito.app.Application#config
        - declared on CLASS bean [types=[org.kie.kogito.app.Application, java.lang.Object, org.kie.kogito.Application], qualifiers=[@Default, @Any], target=org.kie.kogito.app.Application]
        - available beans:
                - CLASS bean [types=[com.demo.poc.ApplicationConfig, org.kie.kogito.Config, java.lang.Object], qualifiers=[@Default, @Any], target=com.demo.poc.ApplicationConfig]
                - CLASS bean [types=[org.kie.kogito.Config, java.lang.Object, org.kie.kogito.app.ApplicationConfig], qualifiers=[@Default, @Any], target=org.kie.kogito.app.ApplicationConfig]

错误消息的完整转储:https ://pastebin.com/dLDwaWfJ

标签: quarkuskogito

解决方案


这在https://groups.google.com/forum/#!topic/kogito-development/Xkkon4tLHdo得到了回答。

我的 pom.xml 指定了一个 kogito 构建插件和一个 quarkus 构建插件。两者都导致冲突,我只是删除了 kogito 构建插件。


推荐阅读