diff --git a/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java b/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java index f0aea3d30ab2..e71da89a9843 100644 --- a/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java +++ b/java/java-impl/src/com/intellij/openapi/projectRoots/impl/JavaSdkImpl.java @@ -272,9 +272,19 @@ public class JavaSdkImpl extends JavaSdk { pathsChecked.add(path); if (root == null) { // build - String url = "jar://" + FileUtil.toSystemIndependentName(PathManager.getHomePath()) + "/lib/jdkAnnotations.jar!/"; - root = VirtualFileManager.getInstance().findFileByUrl(url); - pathsChecked.add(FileUtil.toSystemIndependentName(PathManager.getHomePath()) + "/lib/jdkAnnotations.jar"); + String javaPluginClassesRootPath = PathManager.getJarPathForClass(JavaSdkImpl.class); + LOG.assertTrue(javaPluginClassesRootPath != null); + File javaPluginClassesRoot = new File(javaPluginClassesRootPath); + if (javaPluginClassesRoot.isFile()) { + String annotationsJarPath = FileUtil.toSystemIndependentName(new File(javaPluginClassesRoot.getParentFile(), "jdkAnnotations.jar").getAbsolutePath()); + root = VirtualFileManager.getInstance().findFileByUrl("jar://" + annotationsJarPath + "!/"); + pathsChecked.add(annotationsJarPath); + } + if (root == null) { + String url = "jar://" + FileUtil.toSystemIndependentName(PathManager.getHomePath()) + "/lib/jdkAnnotations.jar!/"; + root = VirtualFileManager.getInstance().findFileByUrl(url); + pathsChecked.add(FileUtil.toSystemIndependentName(PathManager.getHomePath()) + "/lib/jdkAnnotations.jar"); + } } if (root == null) {