diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDependenciesPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDependenciesPage.java index 7161be06b13..1798fd88af3 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDependenciesPage.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDependenciesPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2019 GK Software SE, and others. + * Copyright (c) 2019, 2025 GK Software SE, and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -13,6 +13,7 @@ *******************************************************************************/ package org.eclipse.jdt.internal.ui.wizards.buildpaths; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -26,8 +27,6 @@ import java.util.function.Predicate; import java.util.stream.Collectors; -import java.text.MessageFormat; - import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.events.SelectionListener; @@ -347,7 +346,14 @@ protected void scanModules() { } try { if (fCurrJProject.getModuleDescription() == null) { // cache default roots when compiling the unnamed module: - fAllDefaultSystemModules= closure(JavaCore.defaultRootModules(Arrays.asList(fAllSystemRoots))); + String release = fCurrJProject.getOption(JavaCore.COMPILER_RELEASE, true); + if (release == null) { + release = fCurrJProject.getOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, true); + } + if (release == null) { + release = JavaCore.latestSupportedJavaVersion(); + } + fAllDefaultSystemModules= closure(JavaCore.defaultRootModules(Arrays.asList(fAllSystemRoots), release)); } } catch (JavaModelException e) { JavaPlugin.log(e); diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDialog.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDialog.java index 779541a02ed..221731437b7 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDialog.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/ModuleDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017, 2020 GK Software SE, and others. + * Copyright (c) 2017, 2025 GK Software SE, and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -799,11 +799,18 @@ private List defaultIncludedModuleNamesForUnnamedModule() { if (fJavaElements != null) { List roots= new ArrayList<>(); for (IJavaElement element : fJavaElements) { - if (element instanceof IPackageFragmentRoot) { - roots.add((IPackageFragmentRoot) element); + if (element instanceof IPackageFragmentRoot el) { + roots.add(el); } } - return JavaCore.defaultRootModules(roots); + String release = fJavaElements[0].getJavaProject().getOption(JavaCore.COMPILER_RELEASE, true); + if (release == null) { + release = fJavaElements[0].getJavaProject().getOption(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, true); + } + if (release == null) { + release = JavaCore.latestSupportedJavaVersion(); + } + return JavaCore.defaultRootModules(roots, release); } return Collections.emptyList(); }