首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么OperatingSystemMxBean只能访问jre6/lib/rt.jar?

为什么OperatingSystemMxBean只能访问jre6/lib/rt.jar?
EN

Stack Overflow用户
提问于 2010-11-15 19:24:52
回答 4查看 38.2K关注 0票数 16

我尝试在Eclipse中编译一些Java代码时遇到了一些小问题。我一直收到下面的警告...

代码语言:javascript
复制
Access restriction: The type OperatingSystemMXBean is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar

从这行代码..。

代码语言:javascript
复制
com.sun.management.OperatingSystemMXBean bean = (com.sun.management.OperatingSystemMXBean) java.lang.management.ManagementFactory.getOperatingSystemMXBean();

我已经找到了解决这个问题的方法,但我担心限制警告。这段代码是为我的开放源码项目(CfTracker)编写的,如果我要违反某种许可协议,我不想绕过这个限制。有人能帮我理解这个吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-15 19:55:13

这不是许可协议的问题。它只是Eclipse试图防止您使用不属于官方JDK API的类(而是Oracle/Sun的JVM实现的一部分)。

是否有特殊的原因需要使用类转换(而不是使用the "official" interface java.lang.management.OperatingSystemMXBean)?

如果希望确保应用程序在预期的MXBean不可用时继续运行,可以添加一些try/catch逻辑来优雅地处理ClassCastException。

票数 13
EN

Stack Overflow用户

发布于 2013-02-01 20:55:44

转到Window-->Preferences-->Java-->Compiler-->Error/Warnings.选择弃用和受限制的API。将其更改为警告。更改禁用和不鼓励的引用,并将其更改为警告。(或者根据您的需要。)

谢谢。

票数 14
EN

Stack Overflow用户

发布于 2014-01-19 20:33:34

我为这个问题找到的最好的解决方案是:

  • 转到项目属性中的生成路径设置。
  • 删除
  • 系统库并将其添加回来;选择“添加库”,然后选择JRE系统库。

https://stackoverflow.com/a/2174607/1572446

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4183864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档