Lombok: Lombok gagal dengan JDK 10

Dibuat pada 5 Feb 2018  ·  88Komentar  ·  Sumber: projectlombok/lombok

EDIT : Lihat https://github.com/rzwitserloot/lombok/issues/1572#issuecomment -363417248 untuk contoh minimal

Saya mencoba membangun proyek dengan JDK 10, sehingga kami dapat membuat lombok bekerja dengannya lebih cepat daripada dengan JDK 9.
(build berfungsi dengan JDK 9, jadi ubah kompiler ke JDK 10)

lombok 1.6.20

Versi pakar:

Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T09:58:13+02:00)
Maven home: /opt/apache-maven-3.5.2
Java version: 10-ea, vendor: Oracle Corporation
Java home: /opt/jdk-10
Default locale: en_DK, platform encoding: UTF-8
OS name: "linux", version: "4.14.14", arch: "amd64", family: "unix"

versi Jawa:

java 10-ea 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10-ea+42)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10-ea+42, mixed mode)
...
            <plugin>                                                            
                <artifactId>maven-compiler-plugin</artifactId>                  
                <version>3.7.0</version>                                        
                <configuration>                                                 
                    <source>10</source>                                         
                    <target>10</target>                                                     
                    <compilerArgs>                                              
                        <arg>-Xlint:all,-processing,-cast,-serial,-try</arg>                                                    
                    </compilerArgs>                                             
                    <showWarnings>true</showWarnings>                           
                    <showDeprecation>true</showDeprecation>                     
                </configuration>                                                
            </plugin>                                                           
...

Dan maven build gagal dengan:

[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ manager-api ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 214 source files to /home/target/classes
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by lombok.javac.apt.LombokProcessor to field com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs
WARNING: Please consider reporting this to the maintainers of lombok.javac.apt.LombokProcessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.265 s
[INFO] Finished at: 2018-02-05T10:16:24+01:00
[INFO] Final Memory: 54M/197M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project manager-api: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project manager-api: Fatal error compiling
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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.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)
    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)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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: java.lang.RuntimeException: java.lang.ExceptionInInitializerError
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:158)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:96)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:90)
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1075)
    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)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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: java.lang.ExceptionInInitializerError
    at lombok.javac.handlers.HandleGetter.<clinit> (HandleGetter.java:303)
    at java.lang.Class.forName0 (Native Method)
    at 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 com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init> (JavacProcessingEnvironment.java:674)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next (JavacProcessingEnvironment.java:771)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:866)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2100 (JavacProcessingEnvironment.java:110)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1202)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1311)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1250)
    at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:928)
    at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:142)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:96)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:90)
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1075)
    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)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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: java.lang.ClassNotFoundException: com.sun.tools.javac.code.TypeTags
    at java.lang.ClassLoader.findClass (ClassLoader.java:711)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:566)
    at lombok.launch.ShadowClassLoader.loadClass (ShadowClassLoader.java:422)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:499)
    at java.lang.Class.forName0 (Native Method)
    at 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)
    at lombok.javac.handlers.HandleGetter.<clinit> (HandleGetter.java:303)
    at java.lang.Class.forName0 (Native Method)
    at 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 com.sun.tools.javac.processing.JavacProcessingEnvironment$ProcessorState.<init> (JavacProcessingEnvironment.java:674)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$DiscoveredProcessors$ProcessorStateIterator.next (JavacProcessingEnvironment.java:771)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:866)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2100 (JavacProcessingEnvironment.java:110)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1202)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1311)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1250)
    at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:928)
    at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:142)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:96)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:90)
    at org.codehaus.plexus.compiler.javac.JavaxToolsCompiler.compileInProcess (JavaxToolsCompiler.java:126)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile (JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:1075)
    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)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:51)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:309)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:194)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:107)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:955)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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)

Komentar yang paling membantu

Kami berharap untuk merilis 1.16.22 dalam beberapa jam dengan dukungan jdk10 penuh.

Semua 88 komentar

Ketika saya melakukan:

            <plugin>                                                            
                <artifactId>maven-compiler-plugin</artifactId>                  
                <version>3.7.0</version>                                        
                <configuration>                                                 
                    <source>10</source>                                         
                    <target>10</target>                                         
                    <fork>true</fork>                                           
                    <compilerArgs>                                              
                        <arg>-Xlint:all,-processing,-cast,-serial,-try</arg>                                        
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>                                                               
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
                                    <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
                    </compilerArgs>                                             
                    <showWarnings>true</showWarnings>                           
                    <showDeprecation>true</showDeprecation>                     
                </configuration>                                                
            </plugin>                                

Saya mendapatkan pesan kesalahan yang berbeda dengan masalah __ :

[ERROR]   symbol: class __
[ERROR] /home/data/CreateNewKeyCollectionCommandHandler.java:[15,42] error: cannot find symbol

Mungkin karena:

@RequiredArgsConstructor(onConstructor = @__(@Autowired))

Apakah Anda mencoba yang ini untuk @Autowired?

dari JDK8:

@RequiredArgsConstructor(onConstructor_={@AnnotationsGohere}) // note the underscore after onConstructor.

@yurii-polishchuk Sebenarnya saya melakukannya dengan cara lain, saya baru saja menghapus anotasi @Autowired (Saya tidak membutuhkannya karena saya hanya memiliki 1 konstruktor).
Tetapi setelah itu saya mendapatkan kesalahan yang saya tidak tahu apakah itu hasil dari lombok atau query-dsl (yang saya gunakan) atau maven-compiler 3.7.0:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.212 s
[INFO] Finished at: 2018-02-05T11:06:02+01:00
[INFO] Final Memory: 35M/127M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project manager-api: Compilation failure: Compilation failure: 
[ERROR] bad path element "/home/data/.m2/repository/org/glassfish/jaxb/jaxb-core/2.3.0/istack-commons-runtime-3.0.5.jar": no such file or directory
[ERROR] /home/data/dev/manager-api/src/main/java/com/apikeymanager/domain/tapioca/repository/ChangeEventJPAProvider.java:[10,53] error: cannot find symbol
[ERROR]   symbol:   class QChangeEvent
[ERROR]   location: package com.apikeymanager.domain.tapioca
[ERROR] /home/data/dev/manager-api/src/main/java/com/apikeymanager/domain/tapioca/repository/ChangeEventJPAProvider.java:[10] error: static import only from classes and interfaces
[ERROR] /home/data/dev/manager-api/src/main/java/com/apikeymanager/domain/collection/repository/KeyCollectionJPAProvider.java:[21,56] error: cannot find symbol

OK, saya telah membuat contoh kerja minimal masalah dengan JDK 10 di https://github.com/krzyk/lombok-jdk10-example

melakukan mvn clean verify di atas dalam JDK 10 menghasilkan:

[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ lombok-jdk10 ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /home/dev/moje/lombok-jdk10/target/classes
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by lombok.javac.apt.LombokProcessor to field com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs
WARNING: Please consider reporting this to the maintainers of lombok.javac.apt.LombokProcessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /home/dev/moje/lombok-jdk10/src/main/java/com/kirela/lombok/Bar.java:[5,18] cannot find symbol
  symbol:   method setBar(java.lang.String)
  location: class com.kirela.lombok.Foo
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.058 s
[INFO] Finished at: 2018-02-06T14:07:16+01:00
[INFO] Final Memory: 16M/60M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project lombok-jdk10: Compilation failure
[ERROR] /home/dev/moje/lombok-jdk10/src/main/java/com/kirela/lombok/Bar.java:[5,18] cannot find symbol
[ERROR]   symbol:   method setBar(java.lang.String)
[ERROR]   location: class com.kirela.lombok.Foo
[ERROR] 
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Jadi lombok tidak menghasilkan getter sama sekali, saya menguji dengan Builder dan NoArgsContructor, perilaku yang sama.

Saya juga mencoba dengan fork=true dan compilerArgs yang berfungsi di JDK 9 (terkandung dalam pom.xml di dalam proyek yang disebutkan).

Dapatkah seseorang membuat java-10.sh di https://github.com/rzwitserloot/lombok/tree/master/docker/provision/jdk untuk mempercepat proses pengembangan?

Dan mungkin menambahkan file pom, mirip dengan yang ada di https://github.com/rzwitserloot/lombok/tree/master/docker/maven/files/jdk-9

Saya ragu ini akan berhasil, tetapi (tip dari Maldivia ##java): jika kita menambahkan manifes lombok:
Add-Exports: module/package=ALL-UNNAMED

versi javac "10-ea" tidak cocok dengan VERSION_PARSER di Javac.java
Serupa, nama enum "JDK10" di Sumber tidak cocok dengan pola SOURCE_PARSER .

Artinya jatuh kembali ke versi 6, jadi akhirnya mencari TypeTags alih-alih TypeTag.

Kami telah meningkatkan penguraian versi. Ini mungkin telah memperbaiki masalah TypeTags.

Bisakah Anda menguji ini menggunakan rilis tepi ?

Kita masih perlu melihat trik __ .

@rspilker Mencoba rilis tepi dan saya mendapatkan kesalahan yang sama (satu-satunya perbedaan adalah kurangnya "PERINGATAN" untuk LombockProcessor:

[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ lombok-jdk10 ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /home/dev/moje/lombok-jdk10/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /home/dev/moje/lombok-jdk10/src/main/java/com/kirela/lombok/Bar.java:[5,18] cannot find symbol
  symbol:   method setBar(java.lang.String)
  location: class com.kirela.lombok.Foo
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.955 s
[INFO] Finished at: 2018-02-07T20:06:48+01:00
[INFO] Final Memory: 16M/64M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project lombok-jdk10: Compilation failure
[ERROR] /home/dev/moje/lombok-jdk10/src/main/java/com/kirela/lombok/Bar.java:[5,18] cannot find symbol
[ERROR]   symbol:   method setBar(java.lang.String)
[ERROR]   location: class com.kirela.lombok.Foo
[ERROR] 
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Rilis tepi berfungsi untuk saya dengan maven build dari proyek saya.
Tapi itu tidak bekerja dengan IntelliJ build.

Warning:(35, 8) java: lombok.javac.apt.LombokProcessor could not be initialized. Lombok will not run during this compilation: java.lang.IllegalArgumentException: com.sun.tools.javac.main.DelegatingJavaFileManager$DelegatingSJFM extends com.sun.tools.javac.main.DelegatingJavaFileManager implements javax.tools.StandardJavaFileManager
             at lombok.javac.apt.LombokFileObjects.getCompiler(LombokFileObjects.java:148)
             at lombok.javac.apt.InterceptingJavaFileManager.<init>(InterceptingJavaFileManager.java:40)
             at lombok.javac.apt.LombokProcessor.placePostCompileAndDontMakeForceRoundDummiesHook(LombokProcessor.java:165)
            (...snip...)

Saya pikir kita perlu menambahkan "com.sun.tools.javac.main.DelegatingJavaFileManager$DelegatingSJFM" ke
LombokFileObjects.KNOWN_JAVA9_FILE_MANAGERS.

Apakah ada cara untuk menggunakan rilis 'tepi' dengan Maven tanpa menginstal hte jar secara lokal, itu semacam repositori snapshot?

Apakah Anda merencanakan rilis yang mendukung JDK10 ?

Terima kasih

Tahukah Anda mengapa proyek contoh saya (https://github.com/krzyk/lombok-jdk10-example) tidak berfungsi dengan rilis tepi Lombok dan JDK 10?
Itu terlihat sangat sederhana sehingga tidak ada masalah dari perpustakaan lain di sana.

Punya masalah yang sama dengan Gradle build. Kapan Anda berencana untuk merilis versi baru?

Saya mengirim permintaan tarik (#1620) untuk mendukung pembuatan IntelliJ dengan JDK10.

@tmurakam apakah itu membantu dengan maven/gradle build juga?

@krzyk Saya dapat mengkompilasi proyek Anda dengan tambalan saya menggunakan pakar.

terkait dengan #524 ?

Membangun lombok sendiri di jdk10 tidak berhasil karena ecj tidak benar-benar kompatibel dengannya, tetapi, hei, berhasil mengatasinya.

lombok sendiri di jdk10 tampaknya berfungsi dengan baik untuk saya; itu dengan javac di baris perintah.

Akan mengintegrasikan @tmurakam pekerjaan luar biasa dalam hal ini dan mendorong rilis tepi.

@rzwitserloot Saya menguji rilis tepi terbaru dan saya mendapatkan kesalahan berikut dalam proyek kerja saya, membangun menggunakan pakar:

[WARNING] /home/key/validator/CollectionSizeValidator.java:[7,8] lombok.javac.apt.LombokProcessor could not be initialized. Lombok will not run during this compilation: java.lang.IllegalArgumentException: com.sun.tools.javac.main.DelegatingJavaFileManager$DelegatingSJFM extends com.sun.tools.javac.main.DelegatingJavaFileManager implements javax.tools.StandardJavaFileManager
    at lombok.javac.apt.LombokFileObjects.getCompiler(LombokFileObjects.java:148)
    at lombok.javac.apt.InterceptingJavaFileManager.<init>(InterceptingJavaFileManager.java:40)
    at lombok.javac.apt.LombokProcessor.placePostCompileAndDontMakeForceRoundDummiesHook(LombokProcessor.java:165)
    at lombok.javac.apt.LombokProcessor.init(LombokProcessor.java:87)
    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)
    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)
    at org.codehaus.plexus.compiler.javac.JavacCompiler.performCompile(JavacCompiler.java:174)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1075)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:168)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
    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:956)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:194)
    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)

Sementara ketika saya membuat build lombok saya sendiri dari https://github.com/rzwitserloot/lombok/pull/1620 proyek dikompilasi dengan baik dengan Java 10.
Jadi sepertinya ada beberapa perubahan antara #1620 dan komit yang masuk ke rilis tepi.

Dan ketika saya melakukan hal yang sama pada proyek pengujian Java 10 saya (https://github.com/krzyk/lombok-jdk10-example) saya mendapatkan kesalahan untuk rilis tepi:

[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ lombok-jdk10 ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 2 source files to /home/dev/moje/lombok-jdk10/target/classes
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by lombok.javac.apt.LombokProcessor to field com.sun.tools.javac.processing.JavacProcessingEnvironment.discoveredProcs
WARNING: Please consider reporting this to the maintainers of lombok.javac.apt.LombokProcessor
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /home/dev/moje/lombok-jdk10/src/main/java/com/kirela/lombok/Bar.java:[5,18] cannot find symbol
  symbol:   method setBar(java.lang.String)
  location: class com.kirela.lombok.Foo
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.151 s
[INFO] Finished at: 2018-03-30T10:31:18+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project lombok-jdk10: Compilation failure
[ERROR] /home/dev/moje/lombok-jdk10/src/main/java/com/kirela/lombok/Bar.java:[5,18] cannot find symbol
[ERROR]   symbol:   method setBar(java.lang.String)
[ERROR]   location: class com.kirela.lombok.Foo
[ERROR] 
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Dan build dari #1620 berfungsi dengan baik (tanpa peringatan tentang akses reflektif ilegal)

Bekerja untuk saya dengan versi Edge (TIDAK bekerja untuk 1.6.20):
Gradle 4.5.1
OpenJDK Runtime Environment 18.3 (build 10+46)
IntelliJ 2018.1.1RC
Ubuntu 17.10

Saya mencoba versi tepi lombok dan versi netbeans dev. Dan saya melihat kesalahan berikut.
INFO [com.sun.tools.javac.processing.JavacProcessingEnvironment]: Kesalahan pemrosesan anotasi:
java.lang.NoSuchFieldException: NE
di java.lang.Class.getField(Class.java:1703)
di lombok.javac.JavacTreeMaker$SchroedingerType.getFieldCached(JavacTreeMaker.java:156)
di lombok.javac.JavacTreeMaker$TreeTag.treeTag(JavacTreeMaker.java:292)
di lombok.javac.Javac.(Javac.java: 171)
Disebabkan: java.lang.ExceptionInInitializerError
di lombok.javac.handlers.HandleGetter.(HandleGetter.java:303)

Halo, Adakah pembaruan kapan ini akan berfungsi untuk Java 10? Mencoba tepi, mendapatkan kesalahan ini tetapi build berhasil
java.lang.IllegalArgumentException: Problems in URI 'file://lombok/dummy/ForceNewRound0.java' (file://lombok/dummy/ForceNewRound0.java) at lombok.javac.apt.LombokFileObjects$Java9Compiler.toPath(LombokFileObjects.java:187) at lombok.javac.apt.LombokFileObjects$Java9Compiler.wrap(LombokFileObjects.java:172) at lombok.javac.apt.LombokFileObjects.createEmpty(LombokFileObjects.java:157) at lombok.javac.apt.InterceptingJavaFileManager.getJavaFileForOutput(InterceptingJavaFileManager.java:47) at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceOrClassFile(JavacFiler.java:500) at jdk.compiler/com.sun.tools.javac.processing.JavacFiler.createSourceFile(JavacFiler.java:426) at lombok.javac.apt.LombokProcessor.forceNewRound(LombokProcessor.java:365) at lombok.javac.apt.LombokProcessor.process(LombokProcessor.java:352) at lombok.core.AnnotationProcessor$JavacDescriptor.process(AnnotationProcessor.java:115) at lombok.core.AnnotationProcessor.process(AnnotationProcessor.java:165) at lombok.launch.AnnotationProcessorHider$AnnotationProcessor.process(AnnotationProcessor.java:99) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:964) at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:881) 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) 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.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50) at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:36) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51) at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37) at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35) at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25) at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:156) at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:141) at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:114) at jdk.internal.reflect.GeneratedMethodAccessor410.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73) at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39) at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:124) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:113) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:95) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73) at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59) at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54) at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59) at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101) at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91) at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54) at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:256) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:249) at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:238) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:663) at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:596) at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.base/java.lang.Thread.run(Thread.java:844) Caused by: java.lang.IllegalArgumentException: URI has an authority component at java.base/sun.nio.fs.UnixUriUtils.fromUri(UnixUriUtils.java:53) at java.base/sun.nio.fs.UnixFileSystemProvider.getPath(UnixFileSystemProvider.java:99) at java.base/java.nio.file.Paths.get(Paths.java:138) at lombok.javac.apt.LombokFileObjects$Java9Compiler.toPath(LombokFileObjects.java:185) ... 78 more warning: Can't force a new processing round. Lombok won't work.

Saya juga mendapatkan kesalahan tetapi meskipun Lombok ini masih menghasilkan kode yang diperlukan.
Saya pikir Anda bisa mengabaikannya sampai diperbaiki.

Saya mencoba dengan versi Edge dan entah bagaimana berhasil tetapi tidak seperti yang saya harapkan.
Maksud saya adalah bahwa file kelas dihasilkan dan meskipun ada satu pengecualian yang dilemparkan selama waktu kompilasi:
Problems in URI 'file://lombok/dummy/ForceNewRound0.java' (file://lombok/dummy/ForceNewRound0.java)

sepertinya ok tapi anotasi Jackson tidak dibuat. Saya menemukan beberapa petunjuk yang harus saya perlukan dalam file modul java.desktop plus set di lombok.properties lombok.anyConstructor.addConstructorProperties tetapi itu tidak membantu.

Adakah yang tahu cara membuat lombok menghasilkan anotasi?

@LukaszTheProgrammer dalam pengaturan proyek saya lombok.anyConstructor.addConstructorProperties=true sudah cukup.

@BeneStem apakah Anda sudah menentukan hal lain? Bagaimana lombok tahu di mana mencari file konfigurasi?

@LukaszTheProgrammer kami semacam spamming dalam masalah ini...
Anda perlu meletakkan file bernama lombok.config di root folder proyek atau di classpath.
Bagi saya root proyek berfungsi.

Terima kasih, maaf untuk spam :)

Saya memiliki masalah yang sama seperti @LukaszTheProgrammer setelah memperbarui ke versi Edge:
Masalah dalam URI ' file://lombok/dummy/ForceNewRound0.java ' (file://lombok/dummy/ForceNewRound0.java)

Menambahkan lombok.anyConstructor.addConstructorProperties=true tidak terlalu membantu
IllegalArgumentException: URI memiliki komponen otoritas

Kami akan memiliki rilis tepi baru dengan perbaikan untuk itu.

@rspilker Diuji dengan JDK10 dan JDK11 (menggunakan maven docker image maven:3-jdk-10-slim dan maven:3-jdk-11-slim ).

Bekerja seperti pesona (dan tanpa menambahkan <compilerArgs> hanya konfigurasi dasar), bahkan dengan mapstruct .

Saya menguji pada tepi sebelumnya (dua hari yang lalu) saya mendapat masalah tetapi sekarang tampaknya baik-baik saja

tepi baru berfungsi untuk saya dengan jdk10

Bagaimana saya bisa menggunakan versi edge dengan maven?

Bekerja dengan:

<plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> <executions> <execution> <phase>validate</phase> <goals> <goal>install-file</goal> </goals> <configuration> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <packaging>jar</packaging> <file>${project.basedir}/../lib/lombok-edge.jar</file> </configuration> </execution> </executions> </plugin>

Menunggu rilis lombok baru untuk mendukung JDK 10.

BTW, versi RC.X atau Snapshot untuk digunakan di dalam maven bisa sangat membantu

Apakah ada indikasi kapan versi ini akan dirilis?

Terima kasih.

Tertarik juga, berapa perkiraan rilis di maven central?

Gunakan https://jitpack.io , dan tentukan hash komit atau tag dalam versi alat manajemen ketergantungan seperti maven dan jitpack akan membangun perpustakaan dan menambahkan ketergantungan ke proyek Anda.

Saya benar-benar lupa menggunakannya dalam kasus ini! Terima kasih @suyambuganesh 👍

Komit mana yang harus kita targetkan untuk ini?

Mencoba menggunakan snapshot di jitpack.io, tetapi build gagal
https://jitpack.io/com/github/rzwitserloot/lombok/-v1.16.20-ga9aafe2-112/build.log

Lognya cukup jelas:

GAGAL BANGUNAN
/home/jitpack/build/build. xml:176 : Untuk mengkompilasi lombok, anda memerlukan JDK9 atau lebih tinggi; lombok membutuhkan versi ini karena agak sulit untuk menghasilkan build lombok yang kompatibel dengan JDK9 tanpa setidaknya membangun dengan JDK9. Maaf tentang itu.

Ya, jelas, tetapi adakah yang bisa menjelaskan cara menggunakan Java 9 di Jitpack.io? Cara pertama adalah menambahkan jitpack.yml ke repositori dan menentukan versi Java di file ini tetapi saya pikir itu bukan kasus kami

Saya tidak beruntung dengan jitpack bahkan setelah menambahkan file jitpack.yml dan menyuruhnya menggunakan Java 9 - Saya tidak pernah menggunakan semut dan tidak tahu mengapa pemeriksaan versi Java gagal.
Namun ada trik yang rapi di mana Anda bisa mendapatkan gradle untuk mengunduh dependensi dari url arbitrer dengan mengaturnya sebagai ivy repo, seperti ini:

repositories {
    //this is what we want to download: https://projectlombok.org/lombok-edge.jar
    ivy {
        url 'https://projectlombok.org/'
        layout 'pattern', {
            artifact '/[artifact].[ext]'
        }
    }
}
dependencies {
    compileOnly         name: 'lombok-edge'
    annotationProcessor name: 'lombok-edge'
}

Ini dapat menyebabkan build yang tidak dapat direproduksi, jadi harap berhati-hati.

Tambahan: Ini mengasumsikan bahwa Anda tidak menggunakan plugin gradle-lombok. Sebagai gantinya, Anda perlu menerapkan plugin apt, contoh untuk IDEA:

plugins {
    id 'net.ltgt.apt-idea' version '0.15'
}

Lihat https://projectlombok.org/setup/gradle untuk info lebih lanjut tentang menggunakan lombok secara langsung tanpa plugin gradle-lombok.

mvn install:install-file -Dfile=lombok-edge.jar -DgroupId=org.projectlombok -DartifactId=lombok -Dversion=lombok-edge.UNRELEASED -Dpackaging=jar

Menginstal toples secara manual dengan versi khusus yang tidak akan pernah dirilis itu elegan (Anda dapat menggunakan lombok-edge.UNRELEASED di proyek lokal apa pun setelah menjalankan perintah di atas).

Mengganti versi yang dirilis secara publik dengan versi alfa hanya akan menimbulkan masalah, itu tidak elegan, atau saran yang bagus.

Ya, ini cara yang lebih baik.

Saya telah meneliti setiap dokumen, masalah, dan jawaban SO yang dapat saya temukan, dan saya masih tidak dapat menggunakan Gradle + Lombok + JDK 10 + module-info.java. Bisakah seseorang melihat repro sederhana ini dan memberi tahu saya apakah masalahnya adalah saya atau Lombok? Saya pikir saya telah memasukkan semua kode dan info yang diperlukan seseorang.

https://github.com/bennyflint/lombok-module-jdk10

Apakah ada peta jalan di suatu tempat yang mungkin menunjukkan kapan direncanakan rilis pusat maven GA publik Lombok akan mendukung Java 10?

@davidgoate , Anda mungkin ingin menanggapi utas ini: https://groups.google.com/d/msg/project-lombok/J0kguXyDUB8/prEfHN0qAgAJ

Kami berharap untuk merilis 1.16.22 dalam beberapa jam dengan dukungan jdk10 penuh.

@rspilker berfungsi, luar biasa terima kasih.

@krzyk , saya pikir, masalah ini akhirnya bisa ditutup :)

Saya masih mendapatkan kesalahan ini dengan JDK 10 dan Lombok 1.16.22 dengan pakar:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building matrix-bridge-java 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ matrix-bridge-java ---
[INFO] Deleting /home/alejzeis/IdeaProjects/matrix-bridge-java/target
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ matrix-bridge-java ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.7.0:compile (default-compile) @ matrix-bridge-java ---
[WARNING] ********************************************************************************************************************
[WARNING] * Required filename-based automodules detected. Please don't publish this project to a public artifact repository! *
[WARNING] ********************************************************************************************************************
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 6 source files to /home/alejzeis/IdeaProjects/matrix-bridge-java/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /home/alejzeis/IdeaProjects/matrix-bridge-java/src/main/java/io/github/jython234/matrix/bridge/MatrixBridgeEventHandler.java:[29,32] cannot find symbol
  symbol:   method getLogger()
  location: variable bridge of type io.github.jython234.matrix.bridge.MatrixBridge
[ERROR] /home/alejzeis/IdeaProjects/matrix-bridge-java/src/main/java/io/github/jython234/matrix/bridge/MatrixBridgeEventHandler.java:[30,32] cannot find symbol
  symbol:   method getLogger()
  location: variable bridge of type io.github.jython234.matrix.bridge.MatrixBridge
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.826 s
[INFO] Finished at: 2018-05-29T22:11:26-05:00
[INFO] Final Memory: 21M/74M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project matrix-bridge-java: Compilation failure: Compilation failure:
[ERROR] /home/alejzeis/IdeaProjects/matrix-bridge-java/src/main/java/io/github/jython234/matrix/bridge/MatrixBridgeEventHandler.java:[29,32] cannot find symbol
[ERROR] symbol:   method getLogger()
[ERROR] location: variable bridge of type io.github.jython234.matrix.bridge.MatrixBridge
[ERROR] /home/alejzeis/IdeaProjects/matrix-bridge-java/src/main/java/io/github/jython234/matrix/bridge/MatrixBridgeEventHandler.java:[30,32] cannot find symbol
[ERROR] symbol:   method getLogger()
[ERROR] location: variable bridge of type io.github.jython234.matrix.bridge.MatrixBridge
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Saya tidak mengerti mengapa ini terjadi, karena versi 1.16.22 seharusnya mendukung java 10. Saya juga telah menyertakan requires static lombok; di module-info.java saya. Apakah saya melakukan sesuatu yang salah di sini?

EDIT: kode dapat ditemukan di sini: https://github.com/jython234/matrix-bridge-java

Sepertinya lombok tidak akan berfungsi dengan proyek termodulasi? Jika saya menghapus file module-info.java saya tanpa perubahan lain, semuanya bekerja secara ajaib. Bisakah seseorang mengoreksi saya tentang ini?

Ya. Saya dapat mengonfirmasi bahwa Lombok 1.16.22 memiliki masalah dengan proyek termodulasi dan Java 10. Jika saya menggunakan module-info.java dan Java 10 dalam proyek saya, Lombok tidak melakukan apa pun selama pembangunan (maven). Ini menghasilkan build yang gagal, karena semua getter, setter, constructor, builder, dll. hilang.

Lombok benar-benar pemblokir terakhir yang menahan saya untuk tidak menggunakan fitur modul Java 9.

Senang saya bukan satu-satunya. Saya ingin tahu apakah itu karena Lombok sedang dipakai
jalur modul alih-alih jalur kelas? Tanpa modul-info itu
ditempatkan di classpath, yang saat itu berfungsi.

Pada Kamis, 31 Mei 2018, 13:10 taxidriver61 [email protected] menulis:

Ya. Saya dapat mengonfirmasi bahwa Lombok 1.16.22 memiliki masalah dengan termodulasi
proyek dan Java 10. Jika saya menggunakan modul-info.java dan Java 10 di my
proyek, Lombok tidak melakukan apa-apa selama pembangunan (maven). Ini menghasilkan
build yang gagal, karena semua getter, setter, constructor, builder,
dll hilang.


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/rzwitserloot/lombok/issues/1572#issuecomment-393623701 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AFtT5t1JGIOqi47L94A6qsI_shVqcGF1ks5t4DIZgaJpZM4R5IXE
.

Saya kira Ini adalah plugin kompiler maven.
Mungkin Anda harus bertanya di milis maven

Ini adalah perilaku yang dimaksudkan, sejauh yang saya tahu. Ketergantungan yang
termodulasi dan sedang digunakan oleh proyek modular akan diletakkan di
modulepath, classpath adalah untuk ketika proyek tidak modular.

Pada Kamis, 31 Mei 2018, 14:09 Enrico Olivelli [email protected]
menulis:

Saya kira Ini adalah plugin kompiler maven.
Mungkin Anda harus bertanya di milis maven


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/rzwitserloot/lombok/issues/1572#issuecomment-393644281 ,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AFtT5mTF_qPBXVfdUES_zaGxX8Wcu957ks5t4D_0gaJpZM4R5IXE
.

Saya telah menambahkan Lombok ke annotationProcessorPaths di maven-compiler-plugin :

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <annotationProcessorPaths>
            <path>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </path>
            // [...]
        </annotationProcessorPaths>
        // [...]
    </configuration>
</plugin>

Akibatnya, pemroses anotasi Lombok dipanggil lagi. Tapi sekarang saya mendapatkan kesalahan ini:

_/lombok/dummy/ForceNewRound0.java:[1,1] file harus berada di jalur sumber, atau di jalur tambalan untuk module_

Tidak bisa mendapatkan rilis terbaru dari Lombok yang bekerja dengan JDK 10 di STS 3.9.4

Saya juga dapat mengonfirmasi bahwa dengan proyek termodulasi, pembangunan gagal pada JDK10 menggunakan Lombok 1.6.22.

Saya mendapatkan kesalahan ini saat mengkompilasi dengan pakar:

Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile failed.: IllegalArgumentException -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project nl.mavi.warriorofmars.model: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile failed.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile failed.
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: java.lang.IllegalArgumentException
    at org.objectweb.asm.ClassReader.<init> (Unknown Source)
    at org.objectweb.asm.ClassReader.<init> (Unknown Source)
    at org.objectweb.asm.ClassReader.<init> (Unknown Source)
    at org.codehaus.plexus.languages.java.jpms.AsmModuleInfoParser.parse (AsmModuleInfoParser.java:80)
    at org.codehaus.plexus.languages.java.jpms.AsmModuleInfoParser.getModuleDescriptor (AsmModuleInfoParser.java:65)
    at org.codehaus.plexus.languages.java.jpms.LocationManager.resolvePaths (LocationManager.java:113)
    at org.apache.maven.plugin.compiler.CompilerMojo.preparePaths (CompilerMojo.java:219)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:762)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:168)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    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:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at 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)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)

FWIW, proyek saya dikompilasi ketika saya mengubah versi dari 1.16.20 menjadi 1.18.0 .

Proyek saya masih tidak dapat dikompilasi dengan versi 1.18.0

Setelah memutakhirkan ke Gradle 4.9 proyek saya gagal dikompilasi.

JDK 10.0.1
Lombok 1.18.0

warning: lombok.javac.apt.LombokProcessor could not be initialized. Lombok will not run during this compilation: java.lang.ClassCastException: org.gradle.api.internal.tasks.compile.processing.IncrementalFiler cannot be cast to jdk.compiler/com.sun.tools.javac.processing.JavacFiler
public class ExceptionHandler {
       ^
        at lombok.javac.apt.LombokProcessor.getJavacFiler(LombokProcessor.java:447)
        at lombok.javac.apt.LombokProcessor.init(LombokProcessor.java:90)
        at lombok.core.AnnotationProcessor$JavacDescriptor.want(AnnotationProcessor.java:112)
        at lombok.core.AnnotationProcessor.init(AnnotationProcessor.java:165)

Tingkat 4.9
BukaJDK 10.0.2
Lombok 1.18.0
-> Pengecualian getJavacFiler
(terkait: io.franzbecker.gradle-lombok 1.14 --> java.lang.ExceptionInInitializerError)

Ketika saya menempatkan Lombok di jalur-modul-prosesor dan jalur-modul untuk mengkompilasi proyek modular hello world sederhana saya https://github.com/bottemav/hello-world-lombok-modular Saya tidak mendapatkan kesalahan kompilasi atau peringatan tetapi juga tidak ada kelas file! Proyek ini hanya berisi kelas dengan anotasi data dan saya menggunakan baris perintah untuk kompilasi.

Oracle atau OpenJdk 10.0.2
Lombok 1.18.0 atau rilis tepi

Kompiler JDK 11-ea memberi saya petunjuk mengapa itu tidak menghasilkan file kelas:

Modul lombok tidak membaca modul yang mengekspor org.mapstruct.ap.spi

Jika saya menghapus provides org.mapstruct.ap.spi.AstModifyingAnnotationProcessor with lombok.launch.AnnotationProcessorHider.AstModificationNotifier; dari Lombok module-info.java , maka saya dapat mengkompilasi proyek kecil saya dan meskipun FilerException, file kelas dihasilkan dengan getter dan setter.

Saya mengalami kesalahan, lalu saya menambahkan ini per halaman web:
Pakar 3.5.4
Jawa 9.0.4
Gagal sampai saya menambahkan tag versi dan cakupan (ketika saya menggunakan pembuat pegas hanya ada)

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

Kami menghadapi masalah ini juga.

Jawa 10.0.1
Pakar 3.5.3
lombok-maven-plugin 1.18.0.0
lombok (ketergantungan) - edge

Saya menggunakan lombok-maven-plugin untuk menghasilkan sumber (konfigurasi default - sumber diambil dari lokasi utama/lombok).
Lombok tidak menghasilkan metode pengambil dan penyetel, yang mengakibatkan kesalahan kompilasi - tidak dapat menemukan simbol

[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/tomasz.zieleniewski/Desktop/tmp/lombok-examples/src/main/java/com/intive/Main.java:[14,16] cannot find symbol
  symbol:   method setUrl(java.lang.String)
  location: variable company of type com.intive.Company
[ERROR] /C:/Users/tomasz.zieleniewski/Desktop/tmp/lombok-examples/src/main/java/com/intive/Main.java:[15,35] cannot find symbol
  symbol:   method getUrl()
  location: variable company of type com.intive.Company

sumber Lombok

package com.intive;

import lombok.Data;

<strong i="16">@Data</strong>
public class Company {

    private String url;
}

pom.xml

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <failOnWarning>true</failOnWarning>
                    <release>10</release>
                    <showDeprecation>true</showDeprecation>
                    <showWarnings>true</showWarnings>
                    <source>10</source>
                    <target>10</target>
                    <verbose>true</verbose>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok-maven-plugin</artifactId>
                <version>1.18.0.0</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>delombok</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

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

coba tepi terbaru (1.18.3) tetapi masalah yang sama.
Hanya FilerException yang hilang. (lihat https://github.com/rzwitserloot/lombok/issues/1808)

@krzyk @tzieleniewski Semoga berhasil kompilasi lombok dengan Java 10.
Saya menggunakan versi tepi,


org.projectlombok
lombok
tepian
sistem
${project.basedir}/lib/lombok-edge.jar

@arushi315 tidak, saya mencoba menjalankan Lombok dari baris perintah dan masih tidak berfungsi. Sumber hanya disalin ke direktori yang dihasilkan. Saya melakukannya untuk JAR modular. Ketika artefak saya tidak modular maka Lombok berfungsi.

> java --module-path modules --add-modules org.mapstruct.processor --module lombok/lombok.launch.Main delombok src -d src-gen
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by lombok.javac.JavacTreeMaker$TypeTag to method com.sun.tools.javac.code.Type.getTag()
WARNING: Please consider reporting this to the maintainers of lombok.javac.JavacTreeMaker$TypeTag
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
C:\Users\tomasz.zieleniewski\Desktop\tmp\lombok-examples\src\main\java\module-info.java:3: error: module not found: lombok
    requires static lombok;
                    ^
C:\Users\tomasz.zieleniewski\Desktop\tmp\lombok-examples\src\main\lombok\com\intive\Company.java:8: error: package lombok does not exist
import lombok.Data;
             ^
C:\Users\tomasz.zieleniewski\Desktop\tmp\lombok-examples\src\main\lombok\com\intive\Company.java:10: error: cannot find symbol
<strong i="7">@Data</strong>
 ^
  symbol: class Data

di mana direktori modul berisi

  • lombok-edge.jar
  • mapstruct-processor-1.2.0.Final.jar

@tzieleniewski Terima kasih atas tanggapan cepatnya.

dengan JDK 10 Anda akan mendapatkan kesalahan berikut:

[loading /modules/java.base/java/lang/Deprecated.class]
[loading /modules/java.base/java/lang/annotation/Target.class]
[loading /modules/java.base/java/lang/annotation/ElementType.class]
[loading /modules/java.base/java/lang/annotation/Retention.class]
[loading /modules/java.base/java/lang/annotation/RetentionPolicy.class]
[loading /modules/java.base/java/lang/annotation/Annotation.class]
Round 1:
        input files: {com.intive.Main, com.intive.Company}
        annotations: [lombok.Data]
        last round: false
[search path for source files: \repo\org\mapstruct\mapstruct-processor\1.2.0.Final\mapstruct-processor-1.2.0.Final.jar,.]
[search path for class files: \repo\org\mapstruct\mapstruct-processor\1.2.0.Final\mapstruct-processor-1.2.0.Final.jar,.]
Processor lombok.launch.AnnotationProcessorHider$AnnotationProcessor matches [lombok/lombok.Data] and returns true.
[parsing started lombok.javac.apt.EmptyLombokFileObject@4285cbaa]
[parsing completed 7ms]
[loading /modules/java.base/java/lang/SuppressWarnings.class]
[loading /modules/java.base/java/lang/Override.class]
Round 2:
        input files: {}
        annotations: []
        last round: true
/lombok/dummy/ForceNewRound0.java:1: error: file should be on source path, or on patch path for module
[total 1230ms]
1 error

lihat juga #1723

mungkin ini masalah plugin lombok-maven.
Jika Anda menghapus plugin dan dan menambahkan yang berikut, prosesor akan dipanggil tetapi diakhiri dengan kesalahan _ForceNewRound0.java_

                    <compilerArgs>
                        <arg>--processor-module-path</arg>
                        <arg>\repo\org\projectlombok\lombok\${org.projectlombok.version}\lombok-${org.projectlombok.version}.jar;P:\Maven Repository\repo\org\mapstruct\mapstruct-processor\1.2.0.Final\mapstruct-processor-1.2.0.Final.jar;</arg>
                        <arg>-verbose</arg>
                        <arg>-XprintRounds</arg>
                        <arg>-XprintProcessorInfo</arg>
                        <arg>-Xlint</arg>
                        <arg>-J-verbose</arg>
                    </compilerArgs>

Contoh ditemukan di sini: https://github.com/MCMicS/lombok-examples/blob/15772-without-lombok-maven/pom.xml

Masih terjadi dengan Rilis Tepi terbaru

Saya memposting perbaikan untuk masalah ini menggunakan Gradle di: https://stackoverflow.com/questions/55227728/cannot-find-symbol-error-lombok-1-18-6-does-not-work-with-gradle-5 -2-1-jdk-10

Terima kasih.

Tampaknya berfungsi dengan 1.18.8 .

coba saja dengan Java versi 1.8 dan juga dengan lombok versi 1.16.18.. Seharusnya berhasil.
Apa yang terjadi di belakang adalah bahwa lombok adalah setter pengambil untuk java dan kadang-kadang itu tidak kompatibel untuk versi atau Anda perlu mengatur versi secara manual jadi coba saja untuk versi ini pasti berhasil

Thx~~ 1.18.8 bagus

[INFO] KEGAGALAN BANGUNAN
[INFO] ------------------------------------------------- -------------------------
[INFO] Total waktu: 12,576 dtk
[INFO] Selesai pada: 07-03-2020T21:32:36+05:30
[INFO] ------------------------------------------------- -------------------------
[ERROR] Gagal menjalankan tujuan org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) pada proyek MLP178: Kompilasi kesalahan fatal: java.lang.ExceptionInInitializerError: com.sun.tools .javac.code.TypeTags -> [Bantuan 1]
[KESALAHAN]
[KESALAHAN] Untuk melihat jejak tumpukan penuh kesalahan, jalankan kembali Maven dengan sakelar -e.
[KESALAHAN] Jalankan kembali Maven menggunakan sakelar -X untuk mengaktifkan logging debug penuh.
[KESALAHAN]
[KESALAHAN] Untuk informasi lebih lanjut tentang kesalahan dan kemungkinan solusi, silakan baca artikel berikut:
[KESALAHAN] [Bantuan 1] http://cwiki.Apache.org/confluence/display/MAVEN/MojoExecutionException

@Paromita23 Saya tidak yakin itu benar-benar relevan dengan masalah khusus ini. Jika Anda masih mengalami ini dengan lombok 1.18.12, buka laporan bug baru, gunakan sakelar -e/-X (karena tanpa jejak tumpukan yang sebenarnya atau proyek uji untuk mereproduksi kesalahan ini, itu tidak mungkin bagi kami untuk memperbaikinya, tentu saja), dan sertakan proyek uji sehingga kami dapat mereproduksinya.

@Paromita23 Saya pikir ini bukan masalah yang terkait dengan versi lombok atau versi jdk Anda. Jadi, Anda harus mengangkat masalah atau memberikan versi persis yang Anda gunakan untuk proyek ini.

setidaknya 2 tahun BUG 8-)
... bahwa 2 detik, apa yang harus disimpan dengan lombok membutuhkan waktu sekitar 2 tahun bagi banyak-banyak-banyak pengembang untuk memperbaikinya! :+1:
Pekerjaan yang baik! :100: :rofl:

Gunakan ini

<dependency>
    <groupId>org.jboss.openjdk-orb</groupId>
    <artifactId>openjdk-orb</artifactId>
    <version>8.1.1.Final</version>
</dependency>
Apakah halaman ini membantu?
0 / 5 - 0 peringkat