我最近搬到了另一台计算机,需要重置我的所有环境。
所以,这个测试之前是有效的。
但是我不记得之前用的是哪个版本的Java/JDK。
嗯,问题是:
java.lang.instrument.IllegalClassFormatException: Error while instrumenting path/to/class
我正在使用Jacoco“0.8.1”
java --version
openjdk 17.0.1 2021-10-19
和 JDK 1.8
有谁知道如何处理吗?
奇怪的说法
和 JDK 1.8
一起
java --version openjdk 17.0.1 2021-10-19
从上一篇看来,实际上你正在使用 JDK 17
我正在使用 Jacoco“0.8.1”
我们(JaCoCo 的开发者)建议始终使用最新发布的版本,因为新版本带有修复和改进(IMO 更新依赖项和工具的版本 - 一般来说也是一个非常好的做法),所以请尝试这个 - 从今天开始最新发布的 JaCoCo 版本是0.8.7,正是在这个版本中添加了 JDK 17 支持。
Java 17 需要 jacoco 0.8.8 及以上版本。重新加载 pom.xml 就可以了
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.8</version>
</plugin>
当我使用命令 mvnw test 在 cmd 中测试我的构建时,我收到“构建错误”java.lang.instrument.IllegalClassFormatException:检测 sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo 时出错。
执行步骤:
1.分析错误在哪里。 始终检查项目文件夹 /target/surefire-reports 下的构建错误或任何测试报告。 因为这是一个构建错误,签入转储文件 检查错误消息。在这种特殊情况下,错误消息是 “Jacocojava.lang.instrument.IllegalClassFormatException:检测 sun/util/resources/cldr/provider/CLDRLocaleDataMetaInfo 时出错”
2.调查导致此错误的原因。我的java版本是17,Jacoco版本是0.8.5。所以检查你的java版本和Jacoco版本
3.检查java版本 Cmd 输入 java - version : 会显示版本 示例 C:\Automation\projectJenkins\jgsu-spring-petclinic>java -version java 版本“17.0.6”2023-01-17 LTS
4.对于java 15及以上版本,兼容的jococ版本是0.8.7。 打开项目的pom文件并更新jococ版本。检查“通用属性”下。将您的版本更新为0.8.7
示例:
<jacoco.version>0.8.7</jacoco.version>
保存文件
我正在使用 jacoco 版本 0.8.2 和 java 11。它们是兼容的,但我仍然收到此错误。有谁可以帮忙吗。