Reputation: 31
I am learning to use Lombok in a Maven project. When I use "@SneakyThrows", there are some errors. I found that when I deleted "@SneakyThrows", the errors disappeared.
Here are the errors and code.
java: Error during the transformation of 'com.zem.mybatis.DAO.BO.Bus'; post-compiler 'lombok.bytecode.SneakyThrowsRemover' caused an exception: java.lang.IllegalArgumentException: Unsupported class file major version 61
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:189)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:170)
at org.objectweb.asm.ClassReader.<init>(ClassReader.java:156)
at lombok.bytecode.AsmUtil.fixJSRInlining(AsmUtil.java:37)
at lombok.bytecode.SneakyThrowsRemover.applyTransformations(SneakyThrowsRemover.java:46)
at lombok.core.PostCompiler.applyTransformations(PostCompiler.java:43)
at lombok.core.PostCompiler$1.close(PostCompiler.java:77)
at jdk.compiler/com.sun.tools.javac.jvm.ClassWriter.writeClass(ClassWriter.java:1508)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.genCode(JavaCompiler.java:738)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1617)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.generate(JavaCompiler.java:1585)
at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:946)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:104)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(JavacTaskImpl.java:152)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:100)
at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:94)
at org.jetbrains.jps.javac.JavacMain.compile(JavacMain.java:238)
at org.jetbrains.jps.incremental.java.JavaBuilder.lambda$compileJava$2(JavaBuilder.java:518)
at org.jetbrains.jps.incremental.java.JavaBuilder.invokeJavac(JavaBuilder.java:564)
at org.jetbrains.jps.incremental.java.JavaBuilder.compileJava(JavaBuilder.java:516)
at org.jetbrains.jps.incremental.java.JavaBuilder.compile(JavaBuilder.java:359)
at org.jetbrains.jps.incremental.java.JavaBuilder.doBuild(JavaBuilder.java:284)
at org.jetbrains.jps.incremental.java.JavaBuilder.build(JavaBuilder.java:238)
at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1507)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1141)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1288)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1106)
at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:877)
at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:459)
at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:197)
at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:131)
at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:334)
at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:162)
at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:218)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
@AllArgsConstructor
@Data
@Builder
public class Bus {
private @Singular("a")
List<Integer> arrayList;
@Getter(lazy = true) private final static Bus bus = Bus.builder().a(1).build();
}
This is the dependency of Lombok.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.16</version>
</dependency>
Upvotes: 3
Views: 5286
Reputation: 109014
You're using Lombok 1.18.16, but Lombok added Java 17 support in version 1.18.22 (see its changelog, or issue 2898). You need to update to 1.18.22 or higher to make it work on Java 17.
Upvotes: 7