feat(maven): choose the JRE Maven runs with (#2020)

Closes #1976. Settings › Build Tools › Maven gets a JRE field (per project or global): empty uses the Project JDK, else the chosen JDK runs Maven sync, builds, goals and tests (JAVA_HOME). One resolver (ide_sdk::apply::maven_jdk / maven_build_env) now serves the build model, compile steps, Maven run configurations and the mvnd Java 17 check; an explicit JAVA_HOME in a run configuration still wins.
Цей коміт міститься в:
l0ng-ai authored and GitHub committed 2026-11-07 23:56:04 +08:00
1 джерело fdb07e580c
коміт b43d9bf7fb
13 files changed
+256 -30

No files matched your search

+3
Переглянути файл
@@ -172,6 +172,7 @@ export interface LanguagesValid {
runUsing: "gradle" | "ide";
};
maven: {
runnerJre: string;
home: string;
userSettings: string;
localRepository: string;
@@ -238,6 +239,7 @@ export const DEFAULT_LANGUAGES: LanguagesValid = {
jdtlsVmArgs: "",
gradle: { linkedProjects: null, jvm: "", distribution: "wrapper", home: "", userHome: "", runUsing: "gradle" },
maven: {
runnerJre: "",
home: "",
userSettings: "",
localRepository: "",
@@ -395,6 +397,7 @@ export function validateLanguages(raw: unknown): LanguagesValid {
runUsing: oneOf(gradle.runUsing, ["gradle", "ide"] as const, d.java.gradle.runUsing),
},
maven: {
runnerJre: text(maven.runnerJre, d.java.maven.runnerJre),
home: text(maven.home, d.java.maven.home),
userSettings: text(maven.userSettings, d.java.maven.userSettings),
localRepository: text(maven.localRepository, d.java.maven.localRepository),
+3 -1
Переглянути файл
@@ -189,5 +189,7 @@
"Java compiler output must be inside its module: {output}": "Java compiler output must be inside its module: {output}",
"Cannot choose a directory": "Cannot choose a directory",
"Open in HTTP Client": "Open in HTTP Client",
"Cannot generate the HTTP request": "Cannot generate the HTTP request"
"Cannot generate the HTTP request": "Cannot generate the HTTP request",
"Use Project JDK": "Use Project JDK",
"JDK used for Maven sync, builds, goals and tests. An explicit JAVA_HOME in a run configuration takes precedence.": "JDK used for Maven sync, builds, goals and tests. An explicit JAVA_HOME in a run configuration takes precedence."
}
+3 -2
Переглянути файл
@@ -5355,7 +5355,6 @@
"Context path": "上下文路径",
"Enter / or a context path such as /app": "请输入 / 或 /app 等上下文路径",
"HTTP port": "HTTP 端口",
"JRE": "Java 运行环境",
"Java installation directory; empty uses the project JDK": "Java 安装目录;留空则使用项目 JDK",
"Open browser after launch": "启动后打开浏览器",
"Browser URL": "浏览器网址",
@@ -6567,5 +6566,7 @@
"Remove Module Overrides": "移除模块覆盖设置",
"Java compiler output must be inside its module: {output}": "Java 编译输出必须位于所属模块目录内:{output}",
"Cannot choose a directory": "无法选择目录",
"Open in HTTP Client": "在 HTTP 客户端中打开"
"Open in HTTP Client": "在 HTTP 客户端中打开",
"Use Project JDK": "使用项目 SDK",
"JDK used for Maven sync, builds, goals and tests. An explicit JAVA_HOME in a run configuration takes precedence.": "用于 Maven 同步、构建、目标和测试的 JDK。运行配置中显式设置的 JAVA_HOME 优先。"
}
+1
Переглянути файл
@@ -206,6 +206,7 @@ const UNTRANSLATED = new Set<string>([
"JDK 1.4.x",
"JDK 5 - 8",
"JPA",
"JRE",
"LTS",
"NULL",
"ORDER BY",