redhat-developer / redhat-developer/vscode-java
"Attempted to endRule: null, does not match most recent begin: R/" during "Classpath Update Job"
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.3k
- Forks
- 546
- Merge medio
- 20 h 1 min
- PR fusionados (30 d)
- 11
Descripción
I have a project with the following structure:
portal-back/
├── portal
├── portal-commons
├── portal-gateway
├── portal-integration
├── portal-liquibase
├── portal-sync
All projects (portal, portal-commons, portal-gateway, etc) are java-applications which uses Gradle (with wrapper) as a build tool. All projects have written and compiled in Java 11, uses Gradle 6.1, except portal-commons which uses Gradle 5.2.1. All projects except portal-commons and portal-liquibase are Spring Boot applications.
I have been working on this project quite a while in VSCode, everything worked, but couple days ago this stopped working. The problem is that VSCode recognized only portal and portal-commons projects. I have done "Clean Workspace" and "Clean Java Language Server Workspace", moreover I have re-cloned the project in another directory and opened it again. Nothing helps. I think this happed due to extension update or something else but couldn't figure it out.
Environment
- Operating System: MacOS Big Sur 11.7.10
- JDK version: 11
- Visual Studio Code version: 1.88.1
- Java extension version: 1.30.0
java.jdt.ls.java.home is set to Java 17, java.import.gradle.java.home is set to Java 11.
Error message from Java Language Server Logs:
[Error - 16:25:34] 29 апр. 2024 г., 16:25:34 An internal error occurred during: "Classpath Update Job".
Attempted to endRule: null, does not match most recent begin: R/. See log for trace information if rule tracing is enabled.
java.lang.IllegalArgumentException: Attempted to endRule: null, does not match most recent begin: R/. See log for trace information if rule tracing is enabled.
at org.eclipse.core.runtime.Assert.isLegal(Assert.java:68)
at org.eclipse.core.internal.jobs.ThreadJob.illegalPop(ThreadJob.java:126)
at org.eclipse.core.internal.jobs.ThreadJob.pop(ThreadJob.java:391)
at org.eclipse.core.internal.jobs.ImplicitJobs.end(ImplicitJobs.java:118)
at org.eclipse.core.internal.jobs.JobManager.endRule(JobManager.java:795)
at org.eclipse.core.internal.resources.WorkManager.checkOut(WorkManager.java:174)
at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1598)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:50)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
My VSCode workspace params:
{
"processId": 15418,
"clientInfo": {
"name": "Visual Studio Code",
"version": "1.88.1"
},
"locale": "en",
"rootPath": "/Users/savenkodenys/projects/isna/portal-back",
"rootUri": "file:///Users/savenkodenys/projects/isna/portal-back",
"initializationOptions": {
"bundles": [
"/Users/savenkodenys/.vscode/extensions/visualstudioexptteam.vscodeintellicode-1.3.1/dist/com.microsoft.jdtls.intellicode.core-0.7.1.jar",
"/Users/savenkodenys/.vscode/extensions/vmware.vscode-spring-boot-1.53.0/jars/io.projectreactor.reactor-core.jar",
"/Users/savenkodenys/.vscode/extensions/vmware.vscode-spring-boot-1.53.0/jars/org.reactivestreams.reactive-streams.jar",
"/Users/savenkodenys/.vscode/extensions/vmware.vscode-spring-boot-1.53.0/jars/jdt-ls-commons.jar",
"/Users/savenkodenys/.vscode/extensions/vmware.vscode-spring-boot-1.53.0/jars/jdt-ls-extension.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-gradle-3.13.5/server/com.microsoft.gradle.bs.importer-0.2.0.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-debug-0.57.0/server/com.microsoft.java.debug.plugin-0.52.0.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-dependency-0.23.6/server/com.microsoft.jdtls.ext.core-0.23.6.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-jupiter-api_5.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-jupiter-engine_5.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-jupiter-migrationsupport_5.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-jupiter-params_5.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-platform-commons_1.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-platform-engine_1.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-platform-launcher_1.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-platform-runner_1.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-platform-suite-api_1.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-platform-suite-commons_1.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-platform-suite-engine_1.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/junit-vintage-engine_5.9.3.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/org.apiguardian.api_1.1.2.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/org.eclipse.jdt.junit4.runtime_1.3.0.v20220609-1843.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/org.eclipse.jdt.junit5.runtime_1.1.100.v20220907-0450.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/org.opentest4j_1.2.0.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/org.jacoco.core_0.8.12.202403310830.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-java-test-0.41.1/server/com.microsoft.java.test.plugin-0.41.1.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-lombok-1.1.0/plugins/com.microsoft.java.lombok-0.1.0.jar",
"/Users/savenkodenys/.vscode/extensions/vscjava.vscode-maven-0.44.0/jdtls.ext/com.microsoft.java.maven.plugin/target/com.microsoft.java.maven.plugin-0.39.0.jar"
],
"workspaceFolders": [
"file:///Users/savenkodenys/projects/isna/portal-back"
],
"settings": {
"java": {
"home": "/Users/savenkodenys/apps/jdk-17.0.5/Contents/Home",
"jdt": {
"ls": {
"java": {
"home": "/Users/savenkodenys/apps/jdk-17.0.5/Contents/Home"
},
"vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:\"/Users/savenkodenys/.vscode/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar\"",
"lombokSupport": {
"enabled": true
},
"protobufSupport": {
"enabled": true
},
"androidSupport": {
"enabled": false
}
}
},
"server": {
"launchMode": "Hybrid"
},
"configuration": {
"workspaceCacheLimit": 90,
"updateBuildConfiguration": "automatic",
"checkProjectSettingsExclusions": false,
"maven": {
"userSettings": null,
"globalSettings": null,
"notCoveredPluginExecutionSeverity": "warning",
"defaultMojoExecutionAction": "ignore",
"lifecycleMappings": null
},
"runtimes": [
{
"name": "JavaSE-11",
"path": "/Users/savenkodenys/apps/jdk-11.0.2/Contents/Home"
},
{
"name": "JavaSE-13",
"path": "/Users/savenkodenys/Library/Java/JavaVirtualMachines/azul-13.0.14/Contents/Home"
}
],
"detectJdksAtStart": true
},
"sharedIndexes": {
"enabled": "auto",
"location": ""
},
"trace": {
"server": "verbose"
},
"import": {
"projectSelection": "automatic",
"exclusions": [
"**/node_modules/**",
"**/.metadata/**",
"**/archetype-resources/**",
"**/META-INF/maven/**"
],
"generatesMetadataFilesAtProjectRoot": false,
"maven": {
"enabled": true,
"offline": {
"enabled": false
},
"disableTestClasspathFlag": false
},
"gradle": {
"enabled": true,
"wrapper": {
"enabled": true
},
"version": null,
"home": null,
"java": {
"home": "/Users/savenkodenys/apps/jdk-11.0.2/Contents/Home"
},
"user": {
"home": null
},
"offline": {
"enabled": false
},
"arguments": null,
"jvmArguments": null,
"annotationProcessing": {
"enabled": true
}
}
},
"project": {
"resourceFilters": [
"node_modules",
"\\.git"
],
"importOnFirstTimeStartup": "automatic",
"importHint": true,
"encoding": "ignore",
"referencedLibraries": [
"lib/**/*.jar"
],
"exportJar": {
"targetPath": "${workspaceFolder}/${workspaceFolderBasename}.jar"
},
"explorer": {
"showNonJavaResources": true
}
},
"showBuildStatusOnStart": {
"enabled": "notification"
},
"maven": {
"downloadSources": false,
"updateSnapshots": false
},
"imports": {
"gradle": {
"wrapper": {
"checksums": []
}
}
},
"autobuild": {
"enabled": true
},
"maxConcurrentBuilds": 1,
"settings": {
"url": null
},
"compile": {
"nullAnalysis": {
"nonnull": [
"javax.annotation.Nonnull",
"org.eclipse.jdt.annotation.NonNull",
"org.springframework.lang.NonNull"
],
"nullable": [
"javax.annotation.Nullable",
"org.eclipse.jdt.annotation.Nullable",
"org.springframework.lang.Nullable"
],
"nonnullbydefault": [
"javax.annotation.ParametersAreNonnullByDefault",
"org.eclipse.jdt.annotation.NonNullByDefault",
"org.springframework.lang.NonNullApi"
],
"mode": "automatic"
}
},
"errors": {
"incompleteClasspath": {
"severity": "warning"
}
},
"format": {
"enabled": true,
"settings": {
"url": null,
"profile": null
},
"comments": {
"enabled": true
},
"onType": {
"enabled": true
},
"insertSpaces": true,
"tabSize": 4
},
"completion": {
"enabled": true,
"postfix": {
"enabled": true
},
"chain": {
"enabled": false
},
"favoriteStaticMembers": [
"org.junit.Assert.*",
"org.junit.Assume.*",
"org.junit.jupiter.api.Assertions.*",
"org.junit.jupiter.api.Assumptions.*",
"org.junit.jupiter.api.DynamicContainer.*",
"org.junit.jupiter.api.DynamicTest.*",
"org.mockito.Mockito.*",
"org.mockito.ArgumentMatchers.*",
"org.mockito.Answers.*"
],
"filteredTypes": [
"java.awt.*",
"com.sun.*",
"sun.*",
"jdk.*",
"org.graalvm.*",
"io.micrometer.shaded.*"
],
"guessMethodArguments": "insertBestGuessedArguments",
"matchCase": "firstLetter",
"importOrder": [
"#",
"java",
"javax",
"org",
"com",
""
],
"lazyResolveTextEdit": {
"enabled": true
},
"maxResults": 0,
"collapseCompletionItems": false
},
"signatureHelp": {
"enabled": true,
"description": {
"enabled": false
}
},
"templates": {
"fileHeader": [],
"typeComment": []
},
"codeGeneration": {
"insertionLocation": "afterCursor",
"addFinalForNewDeclaration": "none",
"hashCodeEquals": {
"useJava7Objects": true,
"useInstanceof": true
},
"useBlocks": false,
"generateComments": false,
"toString": {
"template": "${object.className} [${member.name()}=${member.value}, ${otherMembers}]",
"codeStyle": "STRING_CONCATENATION",
"skipNullValues": false,
"listArrayContents": true,
"limitElements": 0
}
},
"edit": {
"smartSemicolonDetection": {
"enabled": false
},
"validateAllOpenBuffersOnChanges": false
},
"cleanup": {
"actions": [
"renameFileToType"
],
"actionsOnSave": []
},
"saveActions": {
"cleanup": true,
"organizeImports": false
},
"sources": {
"organizeImports": {
"starThreshold": 99,
"staticStarThreshold": 99
}
},
"quickfix": {
"showAt": "line"
},
"codeAction": {
"sortMembers": {
"avoidVolatileChanges": true
}
},
"refactoring": {
"extract": {
"interface": {
"replace": true
}
}
},
"referencesCodeLens": {
"enabled": false
},
"implementationsCodeLens": {
"enabled": false
},
"references": {
"includeAccessors": true,
"includeDecompiledSources": true
},
"symbols": {
"includeSourceMethodDeclarations": false
},
"typeHierarchy": {
"lazyLoad": false
},
"inlayHints": {
"parameterNames": {
"enabled": "literals",
"exclusions": []
}
},
"eclipse": {
"downloadSources": false
},
"contentProvider": {
"preferred": null
},
"foldingRange": {
"enabled": true
},
"selectionRange": {
"enabled": true
},
"editor": {
"reloadChangedSources": "ask"
},
"code": {
"generators": {
"includeFluentWithSettersGetters": false,
"fluentMethodPrefix": "",
"methodOpeningBraceOnNewLine": false,
"generateEvenIfExists": false,
"onlyIdForHashAndEquals": false,
"onlyPrimitiveForToString": false,
"copyJsonPropertyAnnotationsFromVariablesToSettersGetters": false,
"includeGeneratedAnnotation": false,
"fluentCallsNormalSetters": true,
"includeBeta": false
}
},
"gradle": {
"buildServer": {
"enabled": "on",
"openBuildOutput": "openOnBuildFailure"
}
},
"debug": {
"logLevel": "warn",
"settings": {
"showHex": false,
"showStaticVariables": false,
"showQualifiedNames": false,
"showLogicalStructure": true,
"showToString": true,
"maxStringLength": 0,
"numericPrecision": 0,
"hotCodeReplace": "manual",
"enableRunDebugCodeLens": true,
"forceBuildBeforeLaunch": true,
"onBuildFailureProceed": false,
"console": "integratedTerminal",
"exceptionBreakpoint": {
"exceptionTypes": [],
"allowClasses": [],
"skipClasses": []
},
"stepping": {
"skipClasses": [],
"skipSynthetics": false,
"skipStaticInitializers": false,
"skipConstructors": false
},
"jdwp": {
"limitOfVariablesPerJdwpRequest": 100,
"requestTimeout": 3000,
"async": "auto"
},
"vmArgs": "",
"debugSupportOnDecompiledSource": "on"
}
},
"silentNotification": false,
"dependency": {
"showMembers": false,
"syncWithFolderExplorer": true,
"autoRefresh": true,
"refreshDelay": 2000,
"packagePresentation": "hierarchical"
},
"help": {
"firstView": "auto",
"showReleaseNotes": true,
"collectErrorLog": false
},
"test": {
"defaultConfig": "",
"config": {}
},
"telemetry": {
"enabled": null
}
}
}
},
"trace": "verbose",
"workspaceFolders": [
{
"uri": "file:///Users/savenkodenys/projects/isna/portal-back",
"name": "portal-back"
}
]
}
Current Result
VSCode doesn't load all nested Java-projects. If I open projects separately, for example, portal I got java.lang.ClassNotFoundException: portal.commons.support.LangKeyHandlerMethodArgumentResolver at runtime (class from portal-commons).
Expected Result
VSCode loads all nested Java-projects
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el registro de Java Language Server que muestra el fallo de Classpath Update Job y la configuración del espacio de trabajo de Gradle con varios proyectos. Reproduce la importación con las versiones indicadas de Java, Gradle, VS Code y la extensión, y luego compara el reconocimiento de proyectos antes y después del fallo. Se considera terminado cuando el espacio de trabajo importa todos los proyectos indicados sin el error endRule.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java, vscode
- Área
- build-system, developer-experience, tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100