EqualsVerifier: 不支持的类文件主版本号61。

3

我是一名Java/Maven初学者,我正在尝试将EqualsVerifier集成到我的代码中,但出现了以下错误。

java.lang.AssertionError: EqualsVerifier found a problem in class com.me.MyClass.
-> Unsupported class file major version 61

我理解这意味着我试图加载一个为不同JDK版本构建的JAR包(17),而我正在使用的是另一个JDK版本。如何获取(或构建)此依赖项的JDK17版本?我的pom文件包含以下内容:

            <dependency>
                <groupId>nl.jqno.equalsverifier</groupId>
                <artifactId>equalsverifier</artifactId>
                <version>3.10.1</version>
                <scope>test</scope>
            </dependency>

EqualsVerifier似乎查看字节码,不支持Java 17。如果您使用Java 11或在Pom中将源级别设置为11,它是否有效? - Thorbjørn Ravn Andersen
请问您能否展示一下您的测试代码和pom文件的完整内容,因为我也在使用JDK18以及EqualsVerifier(相同版本),并且运行良好... https://github.com/khmarbaise/kata-fraction ??? - khmarbaise
这里是EqualsVerifier的创建者。类文件版本61指的是JDK 17,而EqualsVerifier 3.10.1实际上是使用JDK 17构建的(尽管它支持回溯到JDK 8)。有可能还在classpath中存在不同的旧版本EqualsVerifier吗?您可以通过在命令行上运行“mvn dependency:tree”来检查。 - jqno
1
@jqno 这正是我的假设... - khmarbaise
1个回答

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接