一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - java10下編譯lombok注解代碼分享

java10下編譯lombok注解代碼分享

2021-04-19 12:01codecraft Java教程

這篇文章給大家分享了java10下編譯lombok注解的代碼,有興趣的朋友可以測試以下,學習參考下吧。

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

問題

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
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 more
Caused 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 more
Caused 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 more
Caused 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 more
Caused 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的版本更新描述如下:

?
1
2
3
4
5
6
7
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 #985
PLATFORM: Some initial work on supporting JDK10.
BUGFIX: Potential fix for Netbeans < 9. Issue #1555
PROMOTION: 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

更新依賴

?
1
2
3
4
5
6
<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.21</version>
      <scope>provided</scope>
    </dependency>

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

原文鏈接:https://segmentfault.com/a/1190000014112459

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 小伙无套内射老女人 | 欧美久久天天综合香蕉伊 | 99久久伊人精品波多野结衣 | 亚洲国产成人资源在线桃色 | 欧美夜夜精品一级爽 | 操动漫美女视频 | 美女禁18| 亚洲激情婷婷 | 男女发生性关系视频 | 免费观看在线永久免费xx视频 | 好男人天堂网 | 翁熄性放纵交换01 | 国产美女操 | 狠狠色成人综合网图片区 | 久久免费国产视频 | 成人精品亚洲人成在线 | 久久精品99国产精品日本 | 成人啪精品视频免费网站 | 色成人综合网 | 亚洲福利天堂网福利在线观看 | 欧美一区二区三区综合色视频 | 动漫人物差差插曲漫画 | www日本视频 | 精品视频免费在线 | 4hu影院永久在线播放 | 青青色在线观看 | 热热影院| 成人亚洲欧美日韩在线观看 | 国产精品66福利在线观看 | 第一次破苞h| 久久这里只精品国产99re66 | 99热这里只有精品在线观看 | 26uuu老色哥| 亚洲视频1| 亚洲欧美日韩天堂在线观看 | 魔法满屋免费观看完整版中文 | 无限在线观看视频大全免费高清 | 嫩草精品 | 香蕉在线精品亚洲第一区 | 四虎最新网址在线观看 | 欧美最猛性xxxxx男男 |