Skip to content

Java Project Manager

issuelens[bot] edited this page Sep 18, 2026 · 1 revision

Java Project Manager

Purpose and boundaries

microsoft/vscode-java-dependency provides the Java Projects tree and project/library-management UI in VS Code. DependencyExplorer creates the javaProjectExplorer tree with DependencyDataProvider; it also reveals selected resources through the project data returned by the language-server command bridge. This is presentation and extension-side orchestration, not JDTLS project import or dependency resolution.

Referenced-library commands update the java.project.referencedLibraries configuration through Settings; an explicit refresh then invokes the JDTLS-side java.project.refreshLib command for the default workspace folder. A configuration change should therefore not be treated as proof that a server refresh or build-tool resolution succeeded.

Extension–language-server boundary

LanguageServerApiManager activates redhat.java, observes server readiness and classpath/project-import events, and refreshes or progressively adds tree data as appropriate. The Jdtls namespace sends project, package, path, library-refresh, main-class, dependency, and JAR-generation requests through the Java language client's workspace-command bridge.

The bundled JDTLS extension contributes delegate commands including java.project.list, java.project.refreshLib, java.getPackageData, java.resolvePath, java.project.getMainClasses, and java.project.generateJar, plus a jdt://jarentry/.* content provider. Those handlers run in JDTLS; they are distinct from the VS Code tree renderer.

Sources

Verified at source commit 1864fba4d145876808fe557a8dce82e45400e353, merged by PR #1098:

Clone this wiki locally