Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/pr-verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Set Up Java
uses: actions/setup-java@v4
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
- run: npm install -g typescript "@vscode/vsce"
- run: wget http://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ jobs:
- name: Set Up Java
uses: actions/setup-java@v5
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
- name: Build JDT-LS
if: "${{ inputs.JDT_LS_VERSION == '' }}"
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
# Package for each platform (only downloads JDK and creates VSIX, no recompilation)
platforms=("win32-x64" "win32-arm64" "linux-x64" "linux-arm64" "darwin-x64" "darwin-arm64")
for platform in ${platforms[@]}; do
npm run download-jre -- --target ${platform} --javaVersion 21
npm run download-jre -- --target ${platform} --javaVersion 25
SKIP_WEBPACK=true vsce package ${{ env.publishPreReleaseFlag }} --target ${platform} -o java-${platform}-${{ env.EXT_VERSION }}-${GITHUB_RUN_NUMBER}.vsix
done

Expand Down
2 changes: 1 addition & 1 deletion .sdkmanrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=21.0.5-tem
java=25.0.2-tem
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ Quick Start
============
1. Install the Extension
2. On the following platforms, the extension should activate without any setup : `win32-x64`, `win32-arm64`, `darwin-x64`, `darwin-arm64`, `linux-x64`, `linux-arm64`.\
If on another platform, or using the "universal" version, you can [set](#setting-the-jdk) a _Java_ Development Kit. It must be Java 21 or above.
If on another platform, or using the "universal" version, you can [set](#setting-the-jdk) a _Java_ Development Kit. It must be Java 25 or above.
3. Optionally, download and install a Java Development Kit for your project (Java 1.8 or above is supported). See [Project JDKs](#project-jdks) for more details
4. Extension is activated when you first access a Java file
* Recognizes projects with *Maven* or *Gradle* build files in the directory hierarchy.
Expand Down Expand Up @@ -61,7 +61,7 @@ Now that Java extension will publish platform specific versions, it will embed a

The following part is only kept for the universal version without embedded JRE.

>The tooling JDK will be used to launch the Language Server for Java. And by default, will also be used to compile your projects. Java 21 is the minimum required version.\
>The tooling JDK will be used to launch the Language Server for Java. And by default, will also be used to compile your projects. Java 25 is the minimum required version.\
\
The path to the Java Development Kit can be specified by the `java.jdt.ls.java.home` setting in VS Code settings (workspace/user settings). If not specified, it is searched in the following order until a JDK meets current minimum requirement.
>- the `JDK_HOME` environment variable
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -316,7 +316,7 @@
"null"
],
"default": null,
"description": "Specifies the folder path to the JDK (21 or more recent) used to launch the Java Language Server.\nOn Windows, backslashes must be escaped, i.e.\n\"java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-21.0_5\"",
"description": "Specifies the folder path to the JDK (25 or more recent) used to launch the Java Language Server.\nOn Windows, backslashes must be escaped, i.e.\n\"java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-25.0.2\"",
"scope": "machine-overridable",
"deprecationMessage": "This setting is deprecated, please use 'java.jdt.ls.java.home' instead.",
"order": 0
Expand All @@ -327,7 +327,7 @@
"null"
],
"default": null,
"description": "Specifies the folder path to the JDK (21 or more recent) used to launch the Java Language Server. This setting will replace the Java extension's embedded JRE to start the Java Language Server. \n\nOn Windows, backslashes must be escaped, i.e.\n\"java.jdt.ls.java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-21.0_5\"",
"description": "Specifies the folder path to the JDK (25 or more recent) used to launch the Java Language Server. This setting will replace the Java extension's embedded JRE to start the Java Language Server. \n\nOn Windows, backslashes must be escaped, i.e.\n\"java.jdt.ls.java.home\":\"C:\\\\Program Files\\\\Java\\\\jdk-25.0.2\"",
"scope": "machine-overridable",
"order": 10
},
Expand Down
2 changes: 1 addition & 1 deletion scripts/index.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Commands:
repo-fix Fix package-lock.json registry references
Examples:
node scripts/index.js download-jre --target darwin-x64 --javaVersion 21
node scripts/index.js download-jre --target darwin-x64 --javaVersion 25
node scripts/index.js build-or-download
node scripts/index.js watch-server
`);
Expand Down
2 changes: 1 addition & 1 deletion scripts/jre.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { downloadFile, getScriptDir, extractTarGz, handleError, setupMainExecuti

const dirname = getScriptDir();

const LATEST_JRE = 21;
const LATEST_JRE = 25;

const platformMapping = {
"linux-arm64": "linux-aarch64",
Expand Down
3 changes: 1 addition & 2 deletions src/requirements.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import { Commands } from './commands';
import { logger } from './log';
import { checkJavaPreferences } from './settings';
import { listJdks, sortJdksBySource, sortJdksByVersion } from './jdkUtils';
import { getJavaConfiguration } from './utils';

/* eslint-disable @typescript-eslint/naming-convention */
export interface RequirementsData {
Expand Down Expand Up @@ -41,7 +40,7 @@ export async function resolveRequirements(context: ExtensionContext): Promise<Re
const preferenceName = javaPreferences.preference;
let javaHome = javaPreferences.javaHome;
let javaVersion: number = 0;
const REQUIRED_JDK_VERSION = ('on' === getJavaConfiguration().get('jdt.ls.javac.enabled'))?25:21;
const REQUIRED_JDK_VERSION = 25;
if (toolingJreVersion < REQUIRED_JDK_VERSION) { // embedded tooling JRE doesn't meet requirement
toolingJre = null;
toolingJreVersion = 0;
Expand Down
Loading