我用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>
个字符
2条答案
按热度按时间wljmcqd81#
请将
io.smallrye:jandex
最新依赖添加到pom.xml中:字符串
这里面有一个方法
org.jboss.jandex.DotName.createSimple(Class<?> clazz)
。xjreopfe2#
我已经添加了上面提到的缺少的jandex库
接下来我也得到了一个异常:java.lang.IllegalArgumentException:Unsupported API 524288
开始调查quarkus maven插件,它构建了jar,只是删除了它,并坚持使用apache maven插件,这构建了jar没有问题。
所以我认为这不是对问题的回答,而是一个可靠的解决方案。