redhat-developer / redhat-developer/vscode-java

Unexpected errors produced when "javac" support enabled with Lombok

Ouverte
#4,112 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

javac Lombok
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

  1. os:win11
  2. jdk:openjdk24
  3. project jdk:openjdk21
  4. build with gradle

workspace setting

{ "java.import.gradle.home": "D:\\Applications\\Scoop\\apps\\gradle\\current\\", "java.import.gradle.java.home": "D:\\Applications\\Scoop\\apps\\openjdk21\\current", "java.configuration.updateBuildConfiguration": "interactive", "gradle.allowParallelRun": true, "java.compile.nullAnalysis.mode": "automatic", "java.jdt.ls.javac.enabled": "on", "java.completion.engine": "dom", "java.jdt.ls.vmargs": "-Xmx2G --enable-preview", "java.project.encoding": "setDefault", "java.jdt.ls.lombokSupport.enabled": false }
work good in self class

Image

but not work in other class
Image

build.gradle

plugins {
    `java-library`
    `maven-publish`
    id("io.freefair.lombok") version "8.14"
}


group = "com.j.c"
version = "0.0.1-SNAPSHOT"
description = "gradle-test"



allprojects{

    if (project.name == "gradle-platform") return@allprojects

    repositories {
        maven ( url="https://maven.aliyun.com/repository/public" )
        maven ( url="https://repo.maven.apache.org/maven2" )
        maven ( url="https://repo.spring.io/libs-snapshot" )
        maven ( url="https://repo.spring.io/libs-milestone" )
        mavenLocal()
        mavenCentral()
    }
    apply(plugin = "java-library")
    apply(plugin = "io.freefair.lombok")
    java.sourceCompatibility = JavaVersion.VERSION_21
    java.targetCompatibility = JavaVersion.VERSION_21


    tasks.withType<JavaCompile>() {
        options.encoding = "UTF-8"
        options.compilerArgs.add("--enable-preview")
    }

    tasks.withType<Javadoc>() {
        options.encoding = "UTF-8"
    }

}

publishing {
    publications.create<MavenPublication>("maven") {
        from(components["java"])
        }
}

errorlog

[Error - 4:57:53 PM] Jul 13, 2025, 4:57:53 PM Error in calling delegate command handler
gradle-platform does not exist
Java Model Exception: Error in Java Model (code 969): gradle-platform does not exist
at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException(JavaElement.java:548)
at org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence(JavaModelManager.java:2549)
at org.eclipse.jdt.internal.core.JavaProject.getPerProjectInfo(JavaProject.java:2361)
at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:2434)
at org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots(JavaProject.java:1806)
at org.eclipse.jdt.internal.core.JavaProject.getAllPackageFragmentRoots(JavaProject.java:1797)
at com.microsoft.jdtls.ext.core.ProjectCommand.getMainClasses(ProjectCommand.java:243)
at com.microsoft.jdtls.ext.core.CommandHandler.executeCommand(CommandHandler.java:35)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler$1.run(WorkspaceExecuteCommandHandler.java:230)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
at org.eclipse.jdt.ls.core.internal.handlers.WorkspaceExecuteCommandHandler.executeCommand(WorkspaceExecuteCommandHandler.java:220)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$4(JDTLanguageServer.java:616)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:692)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:529)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1394)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1970)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)

Jul 13, 2025 4:57:53 PM org.eclipse.lsp4j.jsonrpc.RemoteEndpoint fallbackResponseError
����: Internal error: java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.core.IMethod.getCompilationUnit()" because "iMethod" is null
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.core.IMethod.getCompilationUnit()" because "iMethod" is null
at java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(CompletableFuture.java:325)
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:361)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:366)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:695)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:529)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1394)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1970)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.core.IMethod.getCompilationUnit()" because "iMethod" is null
at org.eclipse.jdt.internal.corext.refactoring.code.makestatic.InitialConditionsChecker.checkSourceAvailable(InitialConditionsChecker.java:181)
at org.eclipse.jdt.internal.corext.refactoring.code.MakeStaticRefactoring.checkInitialConditions(MakeStaticRefactoring.java:127)
at org.eclipse.jdt.ls.core.internal.corrections.RefactorProcessor.getMakeMethodStaticRefactoringProposal(RefactorProcessor.java:1189)
at org.eclipse.jdt.ls.core.internal.corrections.RefactorProcessor.getProposals(RefactorProcessor.java:228)
at org.eclipse.jdt.ls.core.internal.handlers.CodeActionHandler.getCodeActionCommands(CodeActionHandler.java:221)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$15(JDTLanguageServer.java:775)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:692)
... 5 more

[Error - 4:57:53 PM] Request textDocument/codeAction failed.
Message: Internal error.
Code: -32603
java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.core.IMethod.getCompilationUnit()" because "iMethod" is null
at java.base/java.util.concurrent.CompletableFuture.wrapInCompletionException(CompletableFuture.java:325)
at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:361)
at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:366)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:695)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:529)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:507)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1394)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1970)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:187)
Caused by: java.lang.NullPointerException: Cannot invoke "org.eclipse.jdt.core.IMethod.getCompilationUnit()" because "iMethod" is null
at org.eclipse.jdt.internal.corext.refactoring.code.makestatic.InitialConditionsChecker.checkSourceAvailable(InitialConditionsChecker.java:181)
at org.eclipse.jdt.internal.corext.refactoring.code.MakeStaticRefactoring.checkInitialConditions(MakeStaticRefactoring.java:127)
at org.eclipse.jdt.ls.core.internal.corrections.RefactorProcessor.getMakeMethodStaticRefactoringProposal(RefactorProcessor.java:1189)
at org.eclipse.jdt.ls.core.internal.corrections.RefactorProcessor.getProposals(RefactorProcessor.java:228)
at org.eclipse.jdt.ls.core.internal.handlers.CodeActionHandler.getCodeActionCommands(CodeActionHandler.java:221)
at org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$15(JDTLanguageServer.java:775)
at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:692)
... 5 more

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez le cas Windows 11 avec JDK 24, le JDK 21 du projet, Gradle, Lombok et la prise en charge de javac activée, en utilisant le build.gradle et les paramètres de l’espace de travail fournis. Commencez par ProjectCommand.getMainClasses et le chemin de code-action passant par CodeActionHandler, RefactorProcessor et MakeStaticRefactoring ; déterminez pourquoi le projet gradle-platform manquant entraîne ces erreurs. Le travail est terminé lorsque les actions de code signalées ne produisent plus les échecs consignés.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
developer-experience, tooling
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
28/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.