当前位置: 首页 > 面试题库 >

Eclipse如何知道com.sun是受限制的API?

申高卓
2023-03-14
问题内容

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

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


问题答案:

此信息存储在 Eclipse内部的 所谓的“
执行环境” 概要文件中

因为这些配置文件最初是OSGi东西(请参阅参考资料Bundle- RequiredExecutionEnvironment),所以这些配置文件存储在
org.eclipse.osgi

插件/捆绑包中的*.profile文件中,每个文件都包含可访问软件包的白名单(org.osgi.framework.system.packages),例如此处JavaSE-1.8

如果创建新的Java项目,则可以选择

  • 一个 执行环境JRE ,让你 访问限制 为如进口的错误sun.*包或
  • 没有 对JRE包的 任何访问限制特定JRE

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

另外,由于Java
9引入了Java平台模块系统,因此JRE本身限制了对某些软件包的访问(并且该文件代替rt.jar了file
modules)。



 类似资料:
  • 问题内容: 我使用GWT开发一个Web应用程序,尝试在其中上传文件。我的servlet工作正常。 但是当我使用DiskFileItemFactory()时,它给了我错误。 如果有人可以更正我的代码或告诉我代码中缺少什么。 错误 编辑:工作代码 问题答案: 但是从您的代码看来,您根本不需要使用RMI-为什么要使用它?您不只是要处理并将其存储在某个地方吗? 如果要存储大文件(最大32MB),请使用Bl

  • 当弹出权限对话框时,它会询问我是否要允许或拒绝某个权限。问题是,当我允许或拒绝时,动作不会执行。我如何知道他是否允许,以便我可以在接受时执行操作? 我试过: 但它没有执行,因为“为时已晚”

  • 我是从多年使用spring和刚刚开始研究JEE7和CDI的时候来回答这个问题的。 在Spring世界中,您必须将粘贴在bean上才能将其转换为Spring bean,Spring将注入依赖项,但在CDI中,似乎没有的等效项。 null

  • 我已经调试这段代码好几个小时了,试图让输出正确无误。它在早期工作,但输出中存在逻辑错误,因此我进入并在输出函数中添加了循环和一个额外参数。 现在g给我以下错误: Student.cpp:在成员函数“void Student::input data(std::string,int,STD::string 如何修复此代码?:

  • 问题内容: JSR-299规范在第3.1节中规定: 如果托管bean类是泛型类型,则它必须具有范围@Dependent。如果带有参数化Bean类的托管Bean声明了@Dependent以外的任何范围,则容器将自动检测到该问题并将其视为定义错误。 有效地意味着您不能这样做: 做出此决定的技术原因是什么? 是否会在即将发布的CDI版本中对其进行补救? 有解决此问题的最佳实践吗? 谢谢 编辑 -我经常使

  • NVD报告PostgreSQL JDBC驱动程序存在具有高严重性(7.7)的XXE漏洞,请参见https://nvd.nist.gov/vuln/detail/CVE-2020-13692.此类漏洞与解析XML中的外部实体有关。 不过,我无法在PostgreSQL JDBC驱动程序中找到有关如何实际使用受感染的XML文件来利用此漏洞的信息。是当应用程序尝试将XML文件存储在数据库中时吗?是否有被解