繁体   English   中英

org/testng/ITestListener 已由更新版本的 Java 运行时(类文件版本 55.0)编译,最多只能识别 52 版本

[英]org/testng/ITestListener has been compiled by a more recent version of the Java Runtime (class file version 55.0), only recognizes version up to 52

当我使用 testng.xml 执行我的测试时,它运行正常,但是当我使用 pom.xml 执行时,出现错误:

[ERROR] java.lang.UnsupportedClassVersionError: org/testng/ITestListener 已由较新版本的 Java 运行时(类文件版本 55.0)编译,此版本的 Java 运行时仅识别 class 文件版本高达 52.0

我的 Java 版本:1.8.0_333,和 Apache Maven 3.8.4。

我该如何解决这个问题?

如果有人知道解决方案,请帮助我。

如评论中所述, TestNG 网站说

要求

TestNG Upto v7.5:JDK 8 或更高版本。

TestNG v7.6.0 及更高版本:JDK 11 或更高版本。

所以可能的解决方案是:

  1. 如果您想使用 Java 8 作为您的开发平台,请使用比 v7.6.0 更旧的 TestNG 版本。 TestNG 版本可能会在您项目的 POM 文件中。

  2. 将您的开发平台升级到 Java 11 或更高版本。

  3. 如果您感到勇敢1 ,请尝试向后移植您用于在 Java 8(或更早版本)上运行的 TestNG (>= v7.6.0) 版本。


1 - 这可能是微不足道的或复杂的。 在你尝试之前你不会知道。

这发生在我身上,当我从另一个项目复制一个 maven、testng 项目时。 我只是缺少在 Eclipse 中添加 TestNG 外部库,这可以通过以下步骤完成:

  1. 右击Eclipse中的项目
  2. Go 到构建路径
  3. Select 添加库... 在打开的弹出窗口中,Select TestNG->Next->Finish

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM