- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我设置了一个小project ,最后一节小课 ByteBufferGuard
在 ByteBufferGuard.java
文件:
final class ByteBufferGuard {
@FunctionalInterface
static interface BufferCleaner {
void freeBuffer(String resourceDescription, ByteBuffer b) throws IOException;
}
}
然后是另一个类,MMapDirectory.java
。好吧,在这个类上我无法引用BufferCleaner
只需导入它,因为:
import ByteBufferGuard.BufferCleaner;
返回:
cannot resolve symbol ByteBufferGuard
但这很奇怪,因为只有 ByteBufferGuard
被标记为红色,它确实看到了接下来发生的事情,即 BufferCleaner
.
这两个类都位于同一个gradle默认根包下,即src/main/java/
看着类似的答案,我已经尝试过“使缓存无效/重新启动”并删除 .idea
文件夹并再次打开项目..到目前为止还没有成功。
假设这不是一个拦截器,因为我可以替换 BufferCleaner
的所有引用与 ByteBufferGuard.BufferCleaner
,但它仍然困扰着我,所以我想解决这个问题。
你知道问题出在哪里吗?
java 1.8 u112
intellij 2017.1 eap
另一个有趣的事实是,使用 Kotlin 进行相同的导入就像一个魅力......
最佳答案
不要使用默认包
(未命名的包) - 如果您将这两个文件移动到一个包(子目录),它应该可以工作。
package some.package;
final class ByteBufferGuard {
@FunctionalInterface
static interface BufferCleaner {
void freeBuffer(String resourceDescription, ByteBuffer b) throws IOException;
}
}
和
package some.package;
import some.package.ByteBufferGuard.BufferCleaner;
public class MapDirectory {
private BufferCleaner cleaner;
// ...
}
(用eclipse测试,但应该是一样的)
无法从默认包
导入类:
关于java - Intellij,无法解析符号 ByteBufferGuard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41802209/
这个问题已经有答案了: How to import a class from default package (9 个回答) 已关闭 6 年前。 我设置了一个小project ,最后一节小课 Byte
我是一名优秀的程序员,十分优秀!