Java类位于同一包(不同的目录)中,但它们不能彼此访问

时间:2019-06-10 19:15:36

标签: java package intellij-idea

我有两个文件:

MyProject / src / main / java / foo_package / bar_package / MainClass.java MyProject / src / gen / java / foo_package / bar_package / OtherClass.java

在这两个类中,第一行是:

package foo_package.bar_package;

如果我打电话:

OtherClass foo = new OtherClass();

它不能解析符号OtherClass。为什么会这样?

我尝试过的事情:

  • 重建项目
  • 使缓存/重启无效
  • 重新导入项目
  • 删除.iml文件和.idea文件夹,然后再次导入所有内容

1 个答案:

答案 0 :(得分:1)

上一堂课的路径似乎有问题:

  

MyProject / src / 主要 /java/foo_package/bar_package/MainClass.java   MyProject / src / gen /java/foo_package/bar_package/OtherClass.java

如果您的类具有相同的程序包(程序包在../java/之后开始,但它们不属于Java构建路径,则IDE将不会将其识别为有效。

尝试将OtherClass.java移到MainClass.java所在的包中。这样做最终可以解决您的问题。

PS:注意项目的源文件夹(大多数情况下,main默认是源文件夹,足够了,但是可能还有其他源文件夹,通常是手动添加的)。