簡體   English   中英

Keycloak 17:類型 org.keycloak.models.KeycloakSession 和限定符 [@Default] 的不滿足依賴性

[英]Keycloak 17: Unsatisfied dependency for type org.keycloak.models.KeycloakSession and qualifiers [@Default]

我們使用 keycloak 作為 IDP 並有一些自定義插件/Spi,我們正在將我們的 keycloak 實例更新到版本 17 Quarkas 發行版,並且 SPI 在 keycloak 構建過程中開始中斷(錯誤如下)。 我已經確保沒有 keycloak 庫作為 jar 的一部分打包。

SPI 如下所示,在 Manifest/services/org.keycloak.services.resource.RealmResourceProviderFactory 下的 Manifest 文件中有相應的條目

自定義 SPI/插件

public class SwaggerJsonRetrieverFactory implements RealmResourceProviderFactory {
    @Override
    public RealmResourceProvider create(KeycloakSession session) {
        return new SwaggerJsonRetriever(session);
    }


    @Override
    public void init(Config.Scope config) {

    }


    @Override
    public void postInit(KeycloakSessionFactory factory) {

    }


    @Override
    public void close() {

    }

    @Override
    public String getId() {
        return "swagger.json";
    }
}

我的 pom.xml 如下所示

<dependencies>
        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-core</artifactId>
            <scope>provided</scope>
            <version>${keycloak.version}</version>
        </dependency>
        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-server-spi</artifactId>
            <version>${keycloak.version}</version>
        </dependency>
        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-services</artifactId>
            <scope>provided</scope>
            <version>${keycloak.version}</version>
        </dependency>
        <dependency>
            <groupId>org.keycloak</groupId>
            <artifactId>keycloak-server-spi-private</artifactId>
            <scope>provided</scope>
            <version>${keycloak.version}</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-parser</artifactId>
            <version>1.0.22</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-core</artifactId>
            <version>${logback.version}</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-yaml</artifactId>
            <version>${jackson-dataformat-yaml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.spec.javax.ws.rs</groupId>
            <artifactId>jboss-jaxrs-api_2.1_spec</artifactId>
            <version>2.0.1.Final</version>
        </dependency>

    </dependencies>

我得到的錯誤

 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 2 deployment problems: 
[1] Unsatisfied dependency for type org.keycloak.models.KeycloakSession and qualifiers [@Default]
    - java member: com.abc.swagger.SwaggerJsonRetriever().session
    - declared on CLASS bean [types=[com.abc.swagger.SwaggerJsonRetriever, java.lang.Object], qualifiers=[@Default, @Any], target=com.abc.swagger.SwaggerJsonRetriever]
[2] Unsatisfied dependency for type org.keycloak.models.KeycloakSession and qualifiers [@Default]

是否有任何我遺漏的配置,我們將不勝感激。

從 class 中刪除 @Path 注解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM