Google errorprone java compiler - Errors during maven build: java.lang.NoSuchFieldError: pid

I added the following to the pom file:

<!-- Source: http://errorprone.info/docs/installation -->
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <compilerId>javac-with-errorprone</compilerId>
                <forceJavacCompilerUse>true</forceJavacCompilerUse>
                <!-- maven-compiler-plugin defaults to targeting Java 5, but our javac
                     only supports >=6 -->
                <source>8</source>
                <target>8</target>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.plexus</groupId>
                    <artifactId>plexus-compiler-javac-errorprone</artifactId>
                    <version>2.5</version>
                </dependency>
                <!-- override plexus-compiler-javac-errorprone dependency on
                     Error Prone with the latest version -->
                <dependency>
                    <groupId>com.google.errorprone</groupId>
                    <artifactId>error_prone_core</artifactId>
                    <version>2.0.4</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

      

Which, during a clean install of maven, results in:

An annotation processor threw an uncaught exception.
Consult the following stack trace for details.
java.lang.NoSuchFieldError: pid
    at lombok.javac.JavacAST.packageDeclaration(JavacAST.java:107)
    at lombok.javac.JavacAST.<init>(JavacAST.java:81)
    at lombok.javac.JavacTransformer.transform(JavacTransformer.java:67)
    at lombok.javac.apt.Processor.process(Processor.java:250)
    at lombok.core.AnnotationProcessor$JavacDescriptor.process(AnnotationProcessor.java:115)
    at lombok.core.AnnotationProcessor.process(AnnotationProcessor.java:165)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:801)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:713)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.access$2000(JavacProcessingEnvironment.java:91)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(JavacProcessingEnvironment.java:1021)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1129)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1141)
    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:833)
    at com.sun.tools.javac.main.Main.compile(Main.java:249)
    at com.google.errorprone.ErrorProneCompiler.run(ErrorProneCompiler.java:220)
    at com.google.errorprone.ErrorProneCompiler.run(ErrorProneCompiler.java:158)
    at com.google.errorprone.ErrorProneCompiler.compile(ErrorProneCompiler.java:87)
    at org.codehaus.plexus.compiler.javac.errorprone.JavacCompilerWithErrorProne$CompilerInvoker.compile(JavacCompilerWithErrorProne.java:219)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.codehaus.plexus.compiler.javac.errorprone.JavacCompilerWithErrorProne.performCompile(JavacCompilerWithErrorProne.java:91)
    at org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:825)
    at org.apache.maven.plugin.compiler.CompilerMojo.execute(CompilerMojo.java:129)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
    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:120)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    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)
[DEBUG] incrementalBuildHelper#afterRebuildExecution
[INFO] ------------------------------------------------------------------------

      

...

[ERROR] Failed to execute target org.apache.maven.plugins: Maven-compiler-plugin: 3.3: compile (compile by default) on Core project: Compilation error -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: failed to execute target org.apache.maven.plugins: Maven-compiler-plugin: 3.3: compile (default compilation) against Core project: Compile error when org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java : 212) 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:120) at org .apache.maven.DefaultMaven.doExecute (DefaultMaven.java:347) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:154) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:582 ) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:214) at org.apache.maven.cli.MavenCli.main (MavenCli.java:158) at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method ) in sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) in sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) in java.lang.reflect.Method.java:43) in java.lang.reflect.Method.java:49 .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) in org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) Called by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation error on org.apache.maven.plugin.compiler. AbstractCompilerMojo.execute (AbstractCompilerMojo.java:915) at org.apache.maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129) at org.apache.maven.plugin.DefaultBuildPluginManager.exeButeMojo (DefaultPlugin2. at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) ... 19 more [ERROR]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) Called by: org.apache.maven.plugin.compiler.CompilationFailureException: Compile error on org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:915) in org.apache.maven.plugin.compiler. CompilerMojo.execute (CompilerMojo.java:129) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExeExecutor8.executeava ... 19 more [ERROR]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) Called by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation error when org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:915) in org.apache.maven.plugin.compiler. CompilerMojo.execute (CompilerMojo.java:129) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:132) at org.apache.maven.lifecycle.internal.MojoExeExecutor8.executeava ... 19 more [ERROR]main (Launcher.java:356) Called by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation error on org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:915) in org.apache. maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:132) at org.apache.maven.lifeocyclejoecutor MojoExecutor.java:208) ... 19 more [ERROR]main (Launcher.java:356) Called by: org.apache.maven.plugin.compiler.CompilationFailureException: Compilation error on org.apache.maven.plugin.compiler.AbstractCompilerMojo.execute (AbstractCompilerMojo.java:915) in org.apache. maven.plugin.compiler.CompilerMojo.execute (CompilerMojo.java:129) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:132) at org.apache.maven.lifeocyclejoecutor MojoExecutor.java:208) ... 19 more [ERROR]executeMojo (DefaultBuildPluginManager.java:132) in org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) ... 19 more [ERROR]executeMojo (DefaultBuildPluginManager.java:132) in org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208) ... 19 more [ERROR]

Hmm .. I'm just now noticing that this is a compilation with regard to Lombok related material.

Does errorprone and lombok not work together?

What can be done to solve this problem?

+3


source to share


2 answers


They really don't work well together because of the compiler.

Comments with bug dev (Jun 26, 2015) :

We made the decision to push Error Prone to a specific javac version because Error Prone relies on the internals of the compiler, and support for multiple javac versions is difficult and difficult to test because we only use one javac version internally.



Lombok dev comment (Oct 12, 2015) :

I'm afraid the Java 9 support won't be fixed in a few days.

It looks like all releases of errorprone since 2.0 use javac9, making it impossible to work around it, although you can try previous versions of errorprone.

+2


source


I had the same problem, solved it with Java 8 to compile (it turns out mine was JAVA_HOME

pointing to Java 9 version).



+1


source







All Articles