java - 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。这是为什么?
我试过的:
- 重建项目
- 使缓存无效/重新启动
- 重新导入项目
- 删除 .iml 文件和 .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
默认是源文件夹就够了,但可能还有其他源文件夹,一般是手动添加的)。
推荐阅读
- javascript - Snap.svg 转换不起作用 - 元素选择可能存在问题?
- x86-64 - Intel x86-64 中的特权指令
- c++ - 带有 load_system_dawg 和 load_freq_dawg 的 tesseract api
- r - data.table“超出范围”,如何为新行添加值
- css - 在悬停 SCSS/CSS 上显示信息
- telegram - 允许机器人访问电报组消息
- ajax - 页面 URL 是否会随 AJAX 更改?
- python - gRPC 是否有能力为调用添加最大重试次数?
- sql - SQL 磁盘空间不足警报
- r - 解决 OS vs list.files() 处理重音字符