首页 > 解决方案 > Java 类在同一个包中(不同的目录),但它们不能互相访问

问题描述

我有两个文件:

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。这是为什么?

我试过的:

标签: javapackageintellij-idea

解决方案


看起来最后一个类的路径有问题:

MyProject/src/ main /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默认是源文件夹就够了,但可能还有其他源文件夹,一般是手动添加的)。


推荐阅读