雅加达更改后应用程序在生产中崩溃

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

我最近从 javax 升级到 jakarta。 我同时升级到了 tomcat 10、spring 6 和 spring-boot 3。 该应用程序在本地构建并运行良好,没有任何问题。 然而,它构建并部署到生产中,但随后崩溃并显示以下日志。

ERR java.lang.instrument.IllegalClassFormatException: Error while instrumenting org/springframework/boot/loader/launch/JarLauncher.
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.CoverageTransformer.transform(CoverageTransformer.java:94)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.instrument/java.lang.instrument.ClassFileTransformer.transform(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.instrument/sun.instrument.TransformerManager.transform(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.instrument/sun.instrument.InstrumentationImpl.transform(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/java.lang.ClassLoader.defineClass1(Native Method)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/java.lang.Class.forName0(Native Method)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/java.lang.Class.forName(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/sun.launcher.LauncherHelper.loadMainClass(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at java.base/sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR Caused by: java.io.IOException: Error while instrumenting org/springframework/boot/loader/launch/JarLauncher.
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.core.instr.Instrumenter.instrumentError(Instrumenter.java:160)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.core.instr.Instrumenter.instrument(Instrumenter.java:110)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.CoverageTransformer.transform(CoverageTransformer.java:92)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR ... 16 more
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 61
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.asm.ClassReader.<init>(ClassReader.java:196)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.asm.ClassReader.<init>(ClassReader.java:177)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.asm.ClassReader.<init>(ClassReader.java:163)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.core.internal.instr.InstrSupport.classReaderFor(InstrSupport.java:280)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.core.instr.Instrumenter.instrument(Instrumenter.java:76)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR at org.jacoco.agent.rt.internal_f3994fa.core.instr.Instrumenter.instrument(Instrumenter.java:108)
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR ... 17 more
   2024-02-12T13:05:44.15+0530 [APP/PROC/WEB/0] ERR java.lang.instrument.IllegalClassFormatException: Error while instrumenting org/springframework/boot/loader/launch/ExecutableArchiveLauncher.

我已尝试将我的 jacoco 代理更新到最新的 0.8.11,但仍然存在相同的问题。 我是不是漏掉了什么?

spring spring-boot jacoco tomcat10 jakarta-migration
1个回答
0
投票

您的 Tomcat 使用的 Java 版本似乎比 Java 编译器使用的版本旧。

主要版本 61 表示 Java 17。

因此您的生产 Tomcat 必须至少使用 Java 17。

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