Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>JMAN JavaNew to Visual Studio Code? Get it now.
JMAN Java

JMAN Java

zonnedev

|
4 installs
| (0) | Free
Native Java language support for JMAN, Maven, and Gradle projects
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

JMAN logo

JMAN Java

Native Java language support backed by JMAN's Rust language server and GraalVM compiler frontend. JMAN Java understands JMAN, Maven, and Gradle workspaces and keeps editor analysis aligned with the project's real build model.

Preview: this release supports x86-64 glibc-based Linux and Apple Silicon macOS. Windows, Intel macOS, Linux ARM64, Alpine Linux, virtual workspaces, and untrusted workspaces are not supported yet.

Highlights

  • Java diagnostics, completion, hover, signature help, navigation, references, symbols, semantic highlighting, inlay hints, formatting, and code actions.
  • Workspace import for jman.toml, Maven, and Gradle projects.
  • Native VS Code Test Explorer integration for unit and integration tests, including a JMAN coverage profile and the Test Coverage view.
  • Commands for project checks, builds, runs, tests, synchronization, indexing, cache maintenance, server status, and restart.
  • A bundled jman server: no separate JMAN installation is required for normal extension operation.

Requirements

  • Visual Studio Code 1.95 or newer.
  • An x86-64 Linux distribution using glibc, or Apple Silicon macOS.
  • A supported project JDK for builds, tests, and annotation-processor workers. The native compiler frontend and its matching platform symbols are bundled.
  • A trusted local or remote workspace with its project dependencies available.

JMAN may invoke a Maven or Gradle wrapper when importing those project types. The wrapper and repositories must therefore be usable from the extension host. For Gradle wrappers, JMAN selects the newest installed LTS JDK that the wrapper can run on. This build-tool runtime is independent from the bundled native compiler frontend, and JMAN never installs a JDK implicitly.

Getting started

  1. Install JMAN Java from the Visual Studio Marketplace.
  2. Open a trusted folder containing jman.toml, pom.xml, build.gradle, or build.gradle.kts.
  3. Open a Java source file and run JMAN Java: Show Status from the Command Palette to confirm the selected build system and index state.

The extension registers JMAN as the default Java formatter. Run JMAN Java: Format Document with JJFS or VS Code's standard Format Document command. To format whenever a Java file is saved, add:

{
  "[java]": {
    "editor.defaultFormatter": "zonnedev.jman-java",
    "editor.formatOnSave": true
  }
}

Example workspace settings:

{
  "jman.java.buildJavaHome": "",
  "jman.java.buildSystem": "auto",
  "jman.java.buildSync": "prompt"
}

Project selection

The default auto mode uses JMAN when jman.toml is present, then detects Gradle or Maven. Select a build system explicitly when a workspace contains metadata for more than one build tool.

Setting Default Purpose
jman.java.server.path bundled server Override the jman executable used by the extension.
jman.java.javaHome empty Optional fallback JDK exported to Java workers; the native frontend does not use it.
jman.java.buildJavaHome empty Override the JDK used to run Maven or Gradle; empty lets Gradle select a compatible installed runtime.
jman.java.buildSystem auto Choose auto, jman, gradle, or maven.
jman.java.buildSync prompt Choose manual, prompt, or automatic synchronization.
jman.java.server.extraEnv {} Add environment variables to the language-server process.

The selected build JDK is also used for Gradle and Maven Test Explorer runs and for the extension's check, build, test, and run commands. This keeps build-tool runtime selection independent from JMAN's bundled native frontend.

Commands

Command Purpose
JMAN Java: Show Status Show server, workspace, index, cache, and synchronization state.
JMAN Java: Sync Workspace Reload the selected project model.
JMAN Java: Check Project Compile and check the workspace.
JMAN Java: Build Project Build reproducible project outputs.
JMAN Java: Run Application Run the configured application.
JMAN Java: Run All Tests Run the complete test suite.
JMAN Java: Format Document with JJFS Apply canonical full-document JJFS formatting.
JMAN Java: Change Method Signature Apply JMAN's conservative change-signature refactoring.
JMAN Java: Rebuild Project Index Recreate the Java symbol index.
JMAN Java: Clear Workspace Cache Clear cached project data and rebuild it.
JMAN Java: Restart Server Restart the bundled language server.

Individual tests and classes can also be run from VS Code's Test Explorer and from test code lenses. Native jman.toml workspaces expose Run with JMAN Coverage in Test Explorer and write HTML, XML, and JSON reports beneath .jman/reports/coverage/.

Compatibility and limitations

JMAN Java is under active development. Maven and Gradle model import intentionally does not execute arbitrary build plugins inside the language-server process. Rename and change-signature operations are conservative, and some framework-generated or reflective references may not yet be discovered.

Running multiple Java language servers for the same workspace can produce duplicate diagnostics, competing code actions, and excess resource usage. Disable other Java language-server extensions in the workspace while evaluating JMAN Java.

Privacy and network access

The extension does not collect or transmit analytics or telemetry. JMAN and the selected build tool may access configured artifact repositories, wrapper distributions, and the Adoptium API when a requested project or toolchain operation requires them. Environment variables configured through jman.java.server.extraEnv are passed to the JMAN process; do not place secrets in settings that you would not normally expose to a local build tool.

Troubleshooting

Open View → Output → JMAN Java for server startup and protocol diagnostics. If startup fails, confirm the project wrapper is executable and run the corresponding build tool from a terminal. Use JMAN Java: Show Status to inspect synchronization and indexing failures. If no installed JDK can run the Gradle wrapper, install the suggested version with jman java install <major> or set jman.java.buildJavaHome. This setting changes the build-tool runtime only; Gradle still owns the project's compiler toolchain and target release.

Report reproducible problems through GitHub Issues. Include the JMAN Java version, VS Code version, operating system and architecture, selected build system, and sanitized output-channel logs. See SUPPORT.md before reporting security-sensitive information.

License

JMAN Java is licensed under the Apache License 2.0. Bundled third-party software retains its own license; see THIRD_PARTY_NOTICES.md.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft