迁移 Jersey 项目以使用 Java 17 会导致 jersey.repackaged.org.objectweb.asm.ClassReader 处出现 java.lang.IllegalArgumentException。<init>

问题描述 投票:0回答:1

我正在将基于 maven 的 java 项目从 jdk8 迁移到 jdk17。现在我面临以下错误:

Exception in thread "main" java.lang.IllegalArgumentException
    at jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:171)
    at jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:153)
    at jersey.repackaged.org.objectweb.asm.ClassReader.<init>(ClassReader.java:425)
    at org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener.process(AnnotationAcceptingListener.java:170)
    at io.dropwizard.hibernate.ScanningHibernateBundle.findEntityClassesFromDirectory(ScanningHibernateBundle.java:48)
    at io.dropwizard.hibernate.ScanningHibernateBundle.<init>(ScanningHibernateBundle.java:30)
    at io.dropwizard.hibernate.ScanningHibernateBundle.<init>(ScanningHibernateBundle.java:26)
    at io.dropwizard.hibernate.ScanningHibernateBundle.<init>(ScanningHibernateBundle.java:22)
    at com.flipkart.accounting.illuminati.IlluminatiApplication$1.<init>(IlluminatiApplication.java:27)
    at com.flipkart.accounting.illuminati.IlluminatiApplication.initialize(IlluminatiApplication.java:27)
    at io.dropwizard.Application.run(Application.java:88)
    at com.flipkart.accounting.illuminati.IlluminatiApplication.main(IlluminatiApplication.java:75)

我尝试按照此处提到的方式碰撞球衣版本: 迁移 Jersey 项目以使用 Java 10 会导致 jersey.repackaged.org.objectweb.asm.ClassReader 处出现 java.lang.IllegalArgumentException。

<dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-multipart</artifactId>
            <version>2.27</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-server</artifactId>
            <version>2.27</version>
        </dependency>

但这对我不起作用。 请帮我找出问题所在

maven intellij-idea java-8 jersey java-17
1个回答
0
投票

似乎找到支持特定 Java/JDK 版本的 Jersey 版本的最佳位置是这个路线图页面: https://github.com/eclipse-ee4j/jersey/wiki/Road-Map

根据本页,Jersey 2.35 是第一个完全支持 JDK 17 的版本。 目前最新版本2.40支持JDK 21。

© www.soinside.com 2019 - 2024. All rights reserved.