Java类位于同一个包(不同的目录)中,但它们可以';我们不能互相接近

Java类位于同一个包(不同的目录)中,但它们可以';我们不能互相接近,java,package,intellij-idea,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(); 它无法解析其他类的符号。为什么呢 我所尝

我有两个文件:

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();
它无法解析其他类的符号。为什么呢

我所尝试的:

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

最后一个类的路径似乎有问题:

MyProject/src/main/java/foo\u package/bar\u package/MainClass.java MyProject/src/gen/java/foo\u package/bar\u package/OtherClass.java

如果您的类具有相同的包(包在
。/java/
之后启动),但它们不是java构建路径的一部分,那么IDE将无法识别它们是否有效

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


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

确保您的IDEA源文件夹是
java
,而不是
src
(用于
/gen/
/main
内的
java
文件夹)。 源根目录在“项目”窗口(
Alt+1
)中标记为蓝色目录