国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java10下編譯lombok注解代碼分享

2024-07-14 08:39:51
字體:
來源:轉載
供稿:網友

本文主要研究下在帶有lombok(1.16.20版本)注解的代碼在java10下的編譯問題。

問題

Fatal error compiling  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)  at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)  at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)  at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)  at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)  at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)  at org.apache.maven.cli.MavenCli.execute(MavenCli.java:862)  at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:286)  at org.apache.maven.cli.MavenCli.main(MavenCli.java:197)  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  at java.base/java.lang.reflect.Method.invoke(Method.java:564)  at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)  at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)  at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)  at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)Caused by: org.apache.maven.plugin.MojoExecutionException: Fatal error compiling  at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1086)  at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:168)  at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)  at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)  ... 20 moreCaused by: org.codehaus.plexus.compiler.CompilerException: java.lang.ExceptionInInitializerError  at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:173)  at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174)  at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1075)  ... 23 moreCaused by: java.lang.RuntimeException: java.lang.ExceptionInInitializerError  at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:158)  at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:96)  at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:90)  at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess(JavaxToolsCompiler.java:126)  ... 25 moreCaused by: java.lang.ExceptionInInitializerError  at lombok.javac.handlers.HandleGetter.<clinit>(HandleGetter.java:303)  at java.base/java.lang.Class.forName0(Native Method)  at java.base/java.lang.Class.forName(Class.java:374)  at lombok.core.SpiLoadUtil$1$1.next(SpiLoadUtil.java:111)  at lombok.javac.HandlerLibrary.loadAnnotationHandlers(HandlerLibrary.java:171)  at lombok.javac.HandlerLibrary.load(HandlerLibrary.java:156)  at lombok.javac.JavacTransformer.<init>(JavacTransformer.java:44)  at lombok.javac.apt.LombokProcessor.init(LombokProcessor.java:89)  at lombok.core.AnnotationProcessor$JavacDescriptor.want(AnnotationProcessor.java:87)  at lombok.core.AnnotationProcessor.init(AnnotationProcessor.java:140)  at lombok.launch.AnnotationProcessorHider$AnnotationProcessor.init(AnnotationProcessor.java:69)  at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init>(JavacProcessingEnvironment.java:674)  at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next(JavacProcessingEnvironment.java:771)  at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:866)  at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2100(JavacProcessingEnvironment.java:110)  at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1202)  at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1311)  at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1250)  at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:928)  at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(JavacTaskImpl.java:100)  at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.handleExceptions(JavacTaskImpl.java:142)  ... 28 moreCaused by: java.lang.ClassNotFoundException: com.sun.tools.javac.code.TypeTags  at java.base/java.lang.ClassLoader.findClass(ClassLoader.java:711)  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:566)  at lombok.launch.ShadowClassLoader.loadClass(ShadowClassLoader.java:422)  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)  at java.base/java.lang.Class.forName0(Native Method)  at java.base/java.lang.Class.forName(Class.java:291)  at lombok.javac.JavacTreeMaker$SchroedingerType.getFieldCached(JavacTreeMaker.java:156)  at lombok.javac.JavacTreeMaker$TypeTag.typeTag(JavacTreeMaker.java:245)  at lombok.javac.Javac.<clinit>(Javac.java:155)  ... 49 more

解決

這是當前1.16.20版本的問題,通過升級到最新snapshot版本1.16.21即可搞定,1.16.21的版本更新描述如下:

version: 1.16.21 (2018-03-29 11:54:42 UTC)v1.16.20 is the latest stable release of Project Lombok.PLATFORM: Fix for using lombok together with JDK9's new module-info.java feature. Issue #985PLATFORM: Some initial work on supporting JDK10.BUGFIX: Potential fix for Netbeans < 9. Issue #1555PROMOTION: var has been promoted from experimental to the main package with no changes. The 'old' experimental one is still around but is deprecated, and is an alias for the new main package one. var documentation.OLD-CRUFT: lombok.experimental.Builder and lombok.experimental.Value are deprecated remnants of when these features were still in experimental. They are now removed entirely. If your project is dependent on an older version of lombok which still has those; fret not, lombok still processes these annotations. It just no longer includes them in the jar.

本地安裝

mvn install:install-file -Dfile=lombok-1.16.21.jar -DgroupId=org.lombokproject -DartifactId=lombok -Dversion=1.16.21 -Dpackaging=jar

更新依賴

<dependency>      <groupId>org.projectlombok</groupId>      <artifactId>lombok</artifactId>      <version>1.16.21</version>      <scope>provided</scope>    </dependency>

這樣就大功告成了,如果大家在測試的時候還有任何疑問,可以在下方留言區討論,感謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐城市| 南木林县| 九江市| 天峻县| 通化市| 常宁市| 五莲县| 安塞县| 阳高县| 凤山县| 晋城| 永安市| 沅江市| 博白县| 九江县| 望奎县| 抚远县| 平遥县| 嘉黎县| 岑溪市| 辽中县| 陆川县| 甘肃省| 巴彦淖尔市| 天峻县| 两当县| 乡城县| 鄯善县| 舟山市| 昌吉市| 万盛区| 清新县| 安化县| 常州市| 安福县| 秀山| 太湖县| 进贤县| 开阳县| 雷波县| 新丰县|