Skip to content

Align tooling JDK validation and guidance with redhat.java 1.57.0 (JDK 25+) #1765

Description

@wenytang-ms

Summary

Align Java Pack's runtime validation, Configure Java Runtime UI, and beginner guidance with the JDK requirements and runtime-selection behavior of redhat.java 1.57.0.

The release adds Java 27 project support and requires JDK 25 or newer to launch the language server. These are different requirements: projects must not be forced to target Java 25 or Java 27.

Current behavior

Verified against Java Pack main at 0823dbde1947de111c39890fc095f55c0ff0d258:

  • The runtime resolver still uses REQUIRED_JDK_VERSION = 17.
  • The tooling JDK panel independently hard-codes the same minimum.
  • The beginner FAQ also independently hard-codes 17.
  • Java Pack's resolver is an older copy of the upstream resolution logic. It can treat an explicitly configured, under-minimum tooling JDK as valid, whereas the new language support extension rejects it for tooling and attempts to select a qualified runtime.

In contrast, the current language support resolver requires 25 and includes fallback handling for under-minimum configured runtimes.

This can make Java Pack's readiness checks and displayed tooling JDK disagree with the runtime that actually launches the language server. This report is based on source inspection; it is not a claim that every Java 27 project fails to launch.

Proposed scope

  • Align tooling-runtime validation and selection with the installed language support extension's supported requirements, including explicit settings, bundled runtimes, and fallback discovery.
  • Update all related UI and FAQ messages together, avoiding contradictory independently maintained minimums.
  • Keep the tooling runtime separate from project runtimes. Older project targets must continue to work.
  • Do not add a separate hard-coded Java 27 compiler-level list: the project settings UI already obtains supported levels from redhat.java's runtime configuration schema.

Acceptance criteria

  • With redhat.java 1.57.0, tooling readiness never reports an external JDK 17-24 as satisfying the language server's JDK 25 minimum.
  • When an under-minimum explicit tooling JDK is configured, displayed runtime/error information agrees with the language support extension's selection and fallback behavior.
  • A valid bundled JDK 25 is recognized without requiring a separate JDK 27 installation just to launch the language server.
  • JDK 25 and JDK 27 tooling installations are recognized correctly; supported older project runtimes remain configurable.
  • Configure Java Runtime, the tooling JDK panel, and the FAQ present consistent requirements.
  • Existing supported combinations with older redhat.java versions are considered when choosing how to obtain or version the minimum requirement.

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions