gpt4 book ai didi

java - 无法从 java.base 模块导出包

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:36 25 4
gpt4 key购买 nike

使用 IDEA-EAP 进行 JDK9 开发实验。

我收到以下错误 -

Error:(3, 20) java: package jdk.internal.misc is not visible  
(package jdk.internal.misc is declared in module java.base, which does
not export it to module com.jigsaw.npe)

类定义为 -

package experiment;
import jdk.internal.misc.Unsafe;

public class CompareAndSwap {

static Unsafe UNSAFE = Unsafe.getUnsafe();
...
}

我已经尝试在使用 IDE 使用以下语句创建的模块中包含一个 module-info.java 文件 -

module com.jigsaw.npe {
requires java.base;
}

目录结构现在看起来如图所示 -

Directory Structure

虽然 IDE 将 module-info.java 反射(reflect)为未使用,但可能这就是我无法将 module com.jigsaw.npe 定义为的原因上面试过了。

正在寻求有关如何正确放置 module-info.java 和/或我错过的其他任何内容的帮助。

最佳答案

java.base 模块没有 exportjdk.internal.misc.,所以类型 jdk.internal.misc.Unsafe 不是 accessible - 因此编译失败。

您可以通过添加以下命令行选项使其导出包:

# if you want to access it from com.jigsaw.npe only:
--add-exports java.base/jdk.internal.misc=com.jigsaw.npe
# if you want to access from all code:
--add-exports java.base/jdk.internal.misc=ALL-UNNAMED

编译 (javac) 运行 (java) 代码时,您必须这样做。

关于java - 无法从 java.base 模块导出包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42538750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com