diff --git a/jps/model-impl/src/org/jetbrains/jps/model/java/impl/JavaSdkUtil.java b/jps/model-impl/src/org/jetbrains/jps/model/java/impl/JavaSdkUtil.java index bf9fef523b31..ce7f46fc6b87 100644 --- a/jps/model-impl/src/org/jetbrains/jps/model/java/impl/JavaSdkUtil.java +++ b/jps/model-impl/src/org/jetbrains/jps/model/java/impl/JavaSdkUtil.java @@ -19,6 +19,7 @@ import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.io.FileFilters; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.io.FileUtilRt; +import com.intellij.openapi.util.registry.Registry; import com.intellij.util.ArrayUtil; import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; @@ -70,6 +71,12 @@ public class JavaSdkUtil { FileFilter jarFileFilter = FileFilters.filesWithExtension("jar"); Set pathFilter = ContainerUtil.newTroveSet(FileUtil.PATH_HASHING_STRATEGY); List rootFiles = ContainerUtil.newArrayList(); + if (Registry.is("project.structure.add.tools.jar.to.new.jdk")) { + File toolsJar = new File(home, "lib/tools.jar"); + if (toolsJar.isFile()) { + rootFiles.add(toolsJar); + } + } for (File jarDir : jarDirs) { if (jarDir != null && jarDir.isDirectory()) { File[] jarFiles = notNull(jarDir.listFiles(jarFileFilter), ArrayUtil.EMPTY_FILE_ARRAY); diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index b1dfa786c03f..e4f143bfb539 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -810,6 +810,8 @@ welcome.screen.project.grouping.enabled.description=Allows to group recent proje custom.folding.max.lookup.depth=50 custom.folding.max.lookup.depth.description=Max lookup depth for custom folding comments in a PSI tree. +project.structure.add.tools.jar.to.new.jdk=false +project.structure.add.tools.jar.to.new.jdk.description=Automatically add tools.jar to 'Classpath' when new JDK is created tfs.set.connection.timeout=false