diff --git a/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java b/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java index 7bfd3d822380..706ef85881a9 100644 --- a/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/file/JavaDirectoryServiceImpl.java @@ -40,6 +40,7 @@ import com.intellij.psi.impl.JavaPsiImplementationHelper; import com.intellij.psi.util.PsiUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes; import java.util.Collections; import java.util.Map; @@ -50,10 +51,12 @@ public class JavaDirectoryServiceImpl extends CoreJavaDirectoryService { @Override public PsiPackage getPackage(@NotNull PsiDirectory dir) { - ProjectFileIndex projectFileIndex = ProjectRootManager.getInstance(dir.getProject()).getFileIndex(); - String packageName = projectFileIndex.getPackageNameByDirectory(dir.getVirtualFile()); - if (packageName == null) return null; - return JavaPsiFacade.getInstance(dir.getProject()).findPackage(packageName); + Project project = dir.getProject(); + ProjectFileIndex projectFileIndex = ProjectRootManager.getInstance(project).getFileIndex(); + VirtualFile virtualFile = dir.getVirtualFile(); + String packageName = projectFileIndex.getPackageNameByDirectory(virtualFile); + if (packageName == null || projectFileIndex.isUnderSourceRootOfType(virtualFile, JavaModuleSourceRootTypes.RESOURCES)) return null; + return JavaPsiFacade.getInstance(project).findPackage(packageName); } @Override