Vscode-java: Compilation errors not working with JDK 9/10/11

Created on 27 Sep 2018  路  18Comments  路  Source: redhat-developer/vscode-java

Environment
  • Operating System: macOS High Sierra Version 10.13.6 (17G65)
  • JDK version: 9/10/11
  • Visual Studio Code version: 1.27.2 x64
  • Java extension version: 0.31.0
Steps To Reproduce
  1. Set JDK version to 9/10/11 via the java.home setting
  2. Restart editor
  3. Wait for java language support to boot entirely
  4. Observe lack of compilation (red underlining etc)

Project where the issue occurs:
https://github.com/HedvigInsurance/back-office

Log output:

WARNING: Using incubator modules: jdk.incubator.httpclient
[Error - 11:15:53 AM] 27 Sep 2018, 11:15:53 Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
javax/annotation/processing/AbstractProcessor
java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor
    at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method)
    at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1248)
    at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2123)
    at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:125)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava6FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:458)
    at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:134)
    at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:940)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:450)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:386)
    at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:214)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:318)
    at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:79)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:262)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:185)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:798)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:219)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:262)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:315)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:318)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:370)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:391)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:145)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 11:15:57 AM] 27 Sep 2018, 11:15:57 Problems occurred when invoking code from plug-in: "org.eclipse.jdt.core".
javax/annotation/processing/AbstractProcessor
java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor
    at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method)
    at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1248)
    at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2123)
    at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:125)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava5FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:420)
    at org.eclipse.jdt.apt.core.internal.AptCompilationParticipant.reconcile(AptCompilationParticipant.java:226)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation$1.run(ReconcileWorkingCopyOperation.java:262)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.notifyParticipants(ReconcileWorkingCopyOperation.java:247)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:99)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:802)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1322)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1281)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.performValidation(DocumentLifeCycleHandler.java:135)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.access$0(DocumentLifeCycleHandler.java:121)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler$1.runInWorkspace(DocumentLifeCycleHandler.java:89)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 11:15:57 AM] 27 Sep 2018, 11:15:57 An internal error occurred during: "Validate documents".
javax/annotation/processing/AbstractProcessor
java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor
    at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method)
    at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1248)
    at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2123)
    at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:125)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava5FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:420)
    at org.eclipse.jdt.apt.core.internal.AptCompilationParticipant.reconcile(AptCompilationParticipant.java:226)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation$1.run(ReconcileWorkingCopyOperation.java:262)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.notifyParticipants(ReconcileWorkingCopyOperation.java:247)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:99)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:802)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1322)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1281)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.performValidation(DocumentLifeCycleHandler.java:135)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.access$0(DocumentLifeCycleHandler.java:121)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler$1.runInWorkspace(DocumentLifeCycleHandler.java:89)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 11:15:58 AM] 27 Sep 2018, 11:15:58 Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
javax/annotation/processing/AbstractProcessor
java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor
    at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method)
    at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1248)
    at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2123)
    at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:125)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava6FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:458)
    at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:134)
    at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:940)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:450)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:386)
    at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:214)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:318)
    at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:79)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:262)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:185)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:798)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:219)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:262)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:315)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:318)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:370)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:391)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:145)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 11:15:59 AM] 27 Sep 2018, 11:15:59 Errors occurred during the build.
[Error - 11:15:59 AM] 27 Sep 2018, 11:15:59 Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
javax/annotation/processing/AbstractProcessor
java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor
    at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method)
    at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1248)
    at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2123)
    at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:125)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:617)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:550)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava6FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:458)
    at org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations(IdeAnnotationProcessorManager.java:134)
    at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:940)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:450)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:386)
    at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.compile(BatchImageBuilder.java:214)
    at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:318)
    at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:79)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:262)
    at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:185)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:798)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:219)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:262)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:315)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:318)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:370)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:391)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:145)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 11:16:00 AM] 27 Sep 2018, 11:16:00 Errors occurred during the build.
Current Result

No compilation errors

Expected Result

Compilation errors

Additional Informations

We make heavy use of Lombok, could this be related?

Java 10 Java 11 Java 9 Lombok Maven bug caused-by-extension

Most helpful comment

Finally I got it woking. The issue is with the additional argument -Xbootclasspath added by the lombok extension to the java.jdt.ls.vmargs. I figured it out by integrating the lombok with eclipse and opened the eclipse.ini file for the changes.

  • I uninstalled the vscode-lombok extension
  • I downloaded the lombok.jar (version 1.18.6) file from https://projectlombok.org/download
  • In VSCode, in settings.json, for java.jdt.ls.vmargs key, I added the argument
    -javaagent:\"PATH_TO_DOWNLOADED_LOMBOK_JAR_FILE\"

All 18 comments

The project doesn't build from CLI with JDK 10 and 11:

[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ back-office ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 177 source files to /Users/fbricon/Dev/souk/back-office/target/classes
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.springframework.boot.configurationprocessor.fieldvalues.javac.Trees (file:/Users/fbricon/.m2/repository/org/springframework/boot/spring-boot-configuration-processor/1.5.9.RELEASE/spring-boot-configuration-processor-1.5.9.RELEASE.jar) to method com.sun.tools.javac.api.JavacTrees.getTree(javax.lang.model.element.Element)
WARNING: Please consider reporting this to the maintainers of org.springframework.boot.configurationprocessor.fieldvalues.javac.Trees
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: 01:13 min
[INFO] Finished at: 2018-09-27T16:11:27-04:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project back-office: Fatal error compiling: java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags -> [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/MojoExecutionException

I can confirm this issue.

  • Operating system: Windows 10 1809
  • JDK version: openjdk version "11.0.1" 2018-10-16
  • Visual Studio Code version: 1.30.1
  • Java extension version: 0.36.0

I have enabled Lombok support as documented here. lombok.jar is at the latest version (1.18.4) which should have sufficient JDK 11 support. Here is a basic Spring Boot Maven project that does compile and which reproduces the issue: https://github.com/johnno-vdv/vscode-java-openjdk11-lombok-issue
When JDK 11 is used all syntax checking will be disabled (the entire extension basically stops working). This exception is printed in the output window:

[Error - 3:18:49 PM] 19 Dec 2018, 15:18:49 Problems occurred when invoking code from plug-in: "org.eclipse.jdt.core".
javax/annotation/processing/AbstractProcessor
java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor
    at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method)
    at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1257)
    at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2126)
    at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:118)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:618)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:618)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava5FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:420)
    at org.eclipse.jdt.apt.core.internal.AptCompilationParticipant.reconcile(AptCompilationParticipant.java:226)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation$1.run(ReconcileWorkingCopyOperation.java:262)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.notifyParticipants(ReconcileWorkingCopyOperation.java:247)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:99)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:802)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1322)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1281)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.performValidation(DocumentLifeCycleHandler.java:148)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.access$0(DocumentLifeCycleHandler.java:134)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler$1.runInWorkspace(DocumentLifeCycleHandler.java:102)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 3:18:49 PM] 19 Dec 2018, 15:18:49 An internal error occurred during: "Validate documents".
javax/annotation/processing/AbstractProcessor
java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor
    at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method)
    at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1257)
    at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2126)
    at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:118)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:618)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:618)
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580)
    at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava5FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:420)
    at org.eclipse.jdt.apt.core.internal.AptCompilationParticipant.reconcile(AptCompilationParticipant.java:226)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation$1.run(ReconcileWorkingCopyOperation.java:262)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.notifyParticipants(ReconcileWorkingCopyOperation.java:247)
    at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:99)
    at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736)
    at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:802)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1322)
    at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1281)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.performValidation(DocumentLifeCycleHandler.java:148)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.access$0(DocumentLifeCycleHandler.java:134)
    at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler$1.runInWorkspace(DocumentLifeCycleHandler.java:102)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

This is happening on my box too. I am on ubuntu, running openJDK 11, and NOT using lombok. Here is the error:

Error - 4:28:16 PM] Feb 7, 2019, 4:28:16 PM An internal error occurred during: "Validate documents". javax/annotation/processing/AbstractProcessor java.lang.NoClassDefFoundError: javax/annotation/processing/AbstractProcessor at java.base/java.lang.ClassLoader.findBootstrapClass(Native Method) at java.base/java.lang.ClassLoader.findBootstrapClassOrNull(ClassLoader.java:1257) at java.base/java.lang.System$2.findBootstrapClassOrNull(System.java:2126) at java.base/jdk.internal.loader.ClassLoaders$BootClassLoader.loadClassOrNull(ClassLoaders.java:118) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:618) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:642) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:618) at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:575) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadJava6FactoryClasses(AnnotationProcessorFactoryLoader.java:641) at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.loadFactories(AnnotationProcessorFactoryLoader.java:580) at org.eclipse.jdt.apt.core.internal.AnnotationProcessorFactoryLoader.getJava5FactoriesAndAttributesForProject(AnnotationProcessorFactoryLoader.java:420) at org.eclipse.jdt.apt.core.internal.AptCompilationParticipant.reconcile(AptCompilationParticipant.java:226) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation$1.run(ReconcileWorkingCopyOperation.java:262) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.notifyParticipants(ReconcileWorkingCopyOperation.java:247) at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:99) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:736) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:802) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1322) at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1281) at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.performValidation(DocumentLifeCycleHandler.java:148) at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler.access$0(DocumentLifeCycleHandler.java:134) at org.eclipse.jdt.ls.core.internal.handlers.DocumentLifeCycleHandler$1.runInWorkspace(DocumentLifeCycleHandler.java:102) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:42) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

@JustAnotherSoftwareDeveloper did you override the jdt.ls.vmargs value in your vscode settings (or installed the vscode lombok extension)?

No. I had vscode lombok installed at a previous time, but it has been uninstalled for a while. I have restarted everything since then.

@JustAnotherSoftwareDeveloper The vscode-lombok will make change to the settings, not sure if you have revert the changes? You can find a related issue here: https://github.com/redhat-developer/vscode-java/issues/743 to see whether it helps.

This fixed it. I apologize for not checking vmargs immediately. I assumed because I hadn't touched it that nobody touched it.

Logged issue against vscode lombok: https://github.com/GabrielBB/vscode-lombok/issues/15

I am also facing this issue after updating to openjdk11. Have any one found any workaround or fix for this issue?

@sgnanavel If you have made changes on JDK, please invoke "Java: Clean Workspace..." command to see weather fix this issue.

@yaohaizh I did multiple times. I even tired the workaround from here https://github.com/redhat-developer/vscode-java/issues/580#issuecomment-443302372. But the issue still remains. I couldn't see the syntax errors in my code. I am using the lombok extension and that seems to cause the issue. When I remove the extension the issues are gone, but our project requires lombok.

@sgnanavel please attach the server logs and the vscode logs from the Output view for your case

Finally I got it woking. The issue is with the additional argument -Xbootclasspath added by the lombok extension to the java.jdt.ls.vmargs. I figured it out by integrating the lombok with eclipse and opened the eclipse.ini file for the changes.

  • I uninstalled the vscode-lombok extension
  • I downloaded the lombok.jar (version 1.18.6) file from https://projectlombok.org/download
  • In VSCode, in settings.json, for java.jdt.ls.vmargs key, I added the argument
    -javaagent:\"PATH_TO_DOWNLOADED_LOMBOK_JAR_FILE\"

Finally I got it woking. The issue is with the additional argument -Xbootclasspath added by the lombok extension to the java.jdt.ls.vmargs. I figured it out by integrating the lombok with eclipse and opened the eclipse.ini file for the changes.

* I uninstalled the vscode-lombok extension

* I downloaded the lombok.jar (version 1.18.6) file from https://projectlombok.org/download

* In VSCode, in settings.json, for **java.jdt.ls.vmargs** key, I added the argument
  `-javaagent:\"PATH_TO_DOWNLOADED_LOMBOK_JAR_FILE\"`

The problem is in Lombok extension? Should we open a issue in the extension repository? I'm also getting the same behavior in Open JDK 12. Thank you for your workaround. It works!

Operating System: Ubuntu 19.04
JDK version: 12
Visual Studio Code version: 1.33.1
Java extension version: 0.44.0

@sgnanavel @DavyGuedes Wow, I鈥檓 happy to hear that. As you can see the extension i did (VSCode-Lombok) is very very simple. The only thing it does is adding the Lombok jar to the path, so we can have Lombok without manually downloading the jar and editing by yourself the settings. I will update the extension with that fix !! First I have to test if removing Xbootclasspath doesn鈥檛 affect prior versions of Java.

@sgnanavel @DavyGuedes Wow, I鈥檓 happy to hear that. As you can see the extension i did (VSCode-Lombok) is very very simple. The only thing it does is adding the Lombok jar to the path, so we can have Lombok without manually downloading the jar and editing by yourself the settings. I will update the extension with that fix !! First I have to test if removing Xbootclasspath doesn鈥檛 affect prior versions of Java.

Fix applied in vscode-lombok 0.9.8 in the marketplace. Thanks @sgnanavel for taking the time to check what the heck was going on

Closing as this was fixed in vscode-lombok a while ago.

Was this page helpful?
0 / 5 - 0 ratings