我正在将基于 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>
但这对我不起作用。 请帮我找出问题所在
似乎找到支持特定 Java/JDK 版本的 Jersey 版本的最佳位置是这个路线图页面: https://github.com/eclipse-ee4j/jersey/wiki/Road-Map
根据本页,Jersey 2.35 是第一个完全支持 JDK 17 的版本。 目前最新版本2.40支持JDK 21。