【发布时间】:2019-02-16 01:59:06
【问题描述】:
我有这个错误
java.lang.LinkageError: ClassCastException: attempting to tomcat-debug-eclispe/wtpwebapps/xwiki-debug-eclipse/WEB-INF/lib/jsr311-api-1.1.1.jar!/javax/ws/rs/ext/RuntimeDelegate.class to tomcat-debug-eclispe/lib/jboss-jaxrs-api_2.0_spec-1.0.1.Final.jar!/javax/ws/rs/ext/RuntimeDelegate.class
我正在使用一个名为 xwiki 的开源 wiki 平台
https://github.com/xwiki/xwiki-platform
这个平台某处包括jsr311-api-1.1.1.jar,需要它。
现在我想通过 XWiki 扩展连接一些 keycloak 功能,我需要这个
<!-- https://mvnrepository.com/artifact/org.keycloak/keycloak-admin-client -->
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
<version>4.3.0.Final</version>
</dependency>
我们可以看到herekeycloak-admin-client 需要一些提供的依赖项,包括:
<dependency>
<groupId>org.jboss.spec.javax.ws.rs</groupId>
<artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
<version>1.0.1.Final</version>
<scope>provided</scope>
</dependency>
所以从org.keycloak.admin.client.Keycloak我打电话给
Keycloak.getInstance(keycloakUrl, keycloakRealm, keycloakUser, keycloakPwd, "admin-cli");
此时我正在运行的应用程序(因为一切运行良好)给我上面的ClassCastException。
这里更多的是一个全局 jave (JEE) 问题,我不能提供更多代码,因为最后你将无法构建 XWiki/Keycloak 运行环境并重现该问题(因为在 Eclipse 中,通过单元测试,在 xwiki 环境之外没有 ofc 冲突,Keycloak.getInstance 工作正常)。
在这种情况下我该怎么办?有没有避免这些冲突的行家方法?也许要重新实现一个类?
环境:
tomcat 9.0.12
XWiki 10.6.1
Keycloak 4.3.0
Java 8
【问题讨论】:
标签: java maven tomcat keycloak xwiki