frgaal
frgaal copied to clipboard
frgaal compilator throwing an exeption once you use record and in same time having dependency on lombok
Hi, just trying frgaal for my project on java 8. I did a simple implementation of record and failed with compilation error:
java.lang.ClassCastException: lombok.javac.apt.InterceptingJavaFileManager cannot be cast to com.sun.tools.javac.file.JavacFileManager at com.sun.tools.javac.main.JavaCompiler.compileSecondary(JavaCompiler.java:1745) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:963) at com.sun.tools.javac.main.Main.compile(Main.java:317) at com.sun.tools.javac.main.Main.compile(Main.java:176) at com.sun.tools.javac.Main.compile2(Main.java:108) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.frgaal.Main.lambda$compile$1(Main.java:32) at org.frgaal.AbstractMain.doRun(AbstractMain.java:27) at org.frgaal.Main.compile(Main.java:29) at org.frgaal.maven.FrgaalCompiler.compileInProcess(FrgaalCompiler.java:463) at org.frgaal.maven.FrgaalCompiler.performCompile(FrgaalCompiler.java:172) at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1134) at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:187) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81) at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289) at org.apache.maven.cli.MavenCli.main(MavenCli.java:193) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347) at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Tried different lombok versions - no luck :(
Record Code just in case:
public record SettlementLocation ( Integer id, String clientId, String name, String longName, String country, Timestamp lastModified, String modifiedBy, Boolean isDeleted) {}
You can easily reproduce the issue - create spring boot project from scratch and implement the record having the dependency on lombok in same time in your pom.
Can anybody check this?