java 在mvn包期间,Keycloak版本和quarkus版本不匹配

cigdeys3  于 2023-11-15  发布在  Java
关注(0)|答案(2)|浏览(168)

我用quarkus.version 2.13.3.Final成功地构建了Keycloak 20.0.1,但现在我想尝试使用keycloak 22.0.5,mvn clean package命令失败:
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:2.13.3.Final:build (default) on project keycloak: Execution default of goal io.quarkus:quarkus-maven-plugin:2.13.3.Final:build failed: An API incompatibility was encountered while executing io.quarkus:quarkus-maven-plugin:2.13.3.Final:build: java.lang.NoSuchMethodError: 'org.jboss.jandex.DotName org.jboss.jandex.DotName.createSimple(java.lang.Class)'
我做了什么来尝试解决这个问题,在我的pom中使用版本控制。我尝试了quarkus版本3.2.8.Final和最新的final 3.1.x和3.0.x。都失败了,出现了相同的错误。下面是第一个失败的子pom和第二个失败的父pom。
我已经把两个pom都放进去了,但我最好奇的是将来如何解决这个问题,因为我试着在keycloak github上看看pom中使用的是什么quarkus版本,但这两个都不起作用。

<dependencies>
    <dependency>
        <!-- Keycloak Distribution -->
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-quarkus-dist</artifactId>
        <type>zip</type>
    </dependency>
    <dependency>
        <!-- Keycloak Quarkus Server Libraries-->
        <groupId>org.keycloak</groupId>
        <artifactId>keycloak-quarkus-server</artifactId>
    </dependency>
</dependencies>

<build>
    <finalName>keycloak-${project.version}</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>io.quarkus</groupId>
            <artifactId>quarkus-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

个字符

wljmcqd8

wljmcqd81#

请将io.smallrye:jandex最新依赖添加到pom.xml中:

<dependency>
    <groupId>io.smallrye</groupId>
    <artifactId>jandex</artifactId>
    <version>3.1.5</version>
</dependency>

字符串
这里面有一个方法org.jboss.jandex.DotName.createSimple(Class<?> clazz)

xjreopfe

xjreopfe2#

我已经添加了上面提到的缺少的jandex库
接下来我也得到了一个异常:java.lang.IllegalArgumentException:Unsupported API 524288
开始调查quarkus maven插件,它构建了jar,只是删除了它,并坚持使用apache maven插件,这构建了jar没有问题。
所以我认为这不是对问题的回答,而是一个可靠的解决方案。

相关问题