首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.LinkageError: ClassCastException:尝试强制转换java.lang.LinkageError

java.lang.LinkageError: ClassCastException:尝试强制转换java.lang.LinkageError
EN

Stack Overflow用户
提问于 2021-05-06 21:37:06
回答 1查看 692关注 0票数 1

我正在编写一个JAX-RS API。

当尝试运行以下单元测试时:

代码语言:javascript
复制
    @Test
    public void verifyUserTest() throws InvalidTokenException, InvalidUserException {
        Mockito.when(service.verifyLogin(Mockito.any(LoginRequestDTO.class))).thenReturn(true);
        Mockito.when(service.createToken(Mockito.any(String.class))).thenReturn("testToken");



        var res = sut.verifyUser(new LoginRequestDTO("testuser", "testpass"));
        var entity = res.getEntity();
        System.out.println(entity);

       // Assertions.assertEquals("testuser", res.getUsername());
      //  Assertions.assertEquals("testToken", res.getToken());

    }

我得到以下错误:

java.lang.LinkageError: ClassCastException: attempting to castjar:file:/C:/Users/User/.m2/repository/javax/javaee-web-api/8.0.1/javaee-web-api-8.0.1.jar!/javax/ws/rs/ext/RuntimeDelegate.class to jar:file:/C:/Users/User/.m2/repository/javax/javaee-web-api/8.0.1/javaee-web-api-8.0.1.jar!/javax/ws/rs/ext/RuntimeDelegate.class

这看起来(在我看来)像是同一个类被加载了两次。我该如何解决这个问题呢?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-05-06 21:48:32

我已经通过更改pom.xml中的依赖项修复了此问题。

我两样都有

代码语言:javascript
复制
<dependency>
    <groupId>org.glassfish.jersey.core</groupId>
    <artifactId>jersey-client</artifactId>
    <version>3.0.2</version>
</dependency>

代码语言:javascript
复制
  <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>8.0</version>
            <scope>provided</scope>
        </dependency>

这种依赖关系的组合导致了类转换错误。将jersey-client依赖项的版本更改为"2.34“已修复此问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67419289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档