Jersey 2 AnnotatedClassVisitor 的接口 jersey.repackaged.org.objectweb.asm.ClassVisitor 为 super class

Jersey 2 AnnotatedClassVisitor has interface jersey.repackaged.org.objectweb.asm.ClassVisitor as super class

我在迁移到 Jersey 2 时不断收到此错误。 起初我虽然这是一些 Maven 问题,但它看起来不像那样。 我不断得到: AnnotatedClassVisitor 的接口 jersey.repackaged.org.objectweb.asm.ClassVisitor 为 super class

我的 Maven 看起来像这样:

    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-client</artifactId>
        <version>2.15</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-common</artifactId>
        <version>2.15</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
        <version>2.15</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-jdk-http</artifactId>
        <version>2.15</version>
    </dependency>

任何想法都会有帮助

您的 class 路径上可能有 Jersey 1.x 服务器模块。此模块(1.19 版之前)包含重新打包的 ASM 3,其中 ClassVisitor 仍然是一个接口。从您的代码中删除 1.x 依赖项,应该没问题。

注意:Jersey 2.x 服务器模块还包含重新打包的 ASM。但是重新打包的ASM比较新,版本5,而且ClassVisitor已经有一个摘要class.