gpt4 book ai didi

java - Eclipse 如何知道 com.sun 是受限 API?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:01:07 26 4
gpt4 key购买 nike

我正在使用 Guava 中的 ClassPath.getAllClasses 在实现特定接口(interface)的运行时类中查找。当与 rt.jar 一起使用时,它会从 sun.* 和类似的包中找到许多类,我想将它们过滤掉。

我想重用 Eclipse 和其他 Java 编译器使用的机制来警告受限 API。此信息是驻留在 JRE 中还是硬编码到 Eclipse 中?

最佳答案

此信息存储在所谓的 Execution Environments 中Eclipse 中的配置文件

因为这些配置文件最初是 OSGi 的东西(参见 Bundle-RequiredExecutionEnvironment ),所以配置文件存储在 org.eclipse.osgi*.profile 文件中的插件/包,每个文件都包含可访问包的白名单 (org.osgi.framework.system.packages),例如。 G。这里是 JavaSE-1.8 .

如果您创建一个新的 Java 项目,您可以选择其中之一

  • 执行环境 JRE,它为您提供导入 e 的访问限制错误。 G。 sun.* 包或
  • 对 JRE 包没有任何访问限制的特定 JRE

项目创建后,可以在Project > Properties: Java Build Path 选项卡Libraries 中更改所选的 JRE > 通过选择 JRE 并单击Edit...

此外,由于 Java Platform Module System ,在 Java 9 中引入,JRE 本身限制对某些包的访问(而不是文件 rt.jar 而是文件 modules)。

关于java - Eclipse 如何知道 com.sun 是受限 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52018579/

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