我尝试在Eclipse中编译一些Java代码时遇到了一些小问题。我一直收到下面的警告...
Access restriction: The type OperatingSystemMXBean is not accessible due to restriction on required library C:\Program Files\Java\jre6\lib\rt.jar从这行代码..。
com.sun.management.OperatingSystemMXBean bean = (com.sun.management.OperatingSystemMXBean) java.lang.management.ManagementFactory.getOperatingSystemMXBean();我已经找到了解决这个问题的方法,但我担心限制警告。这段代码是为我的开放源码项目(CfTracker)编写的,如果我要违反某种许可协议,我不想绕过这个限制。有人能帮我理解这个吗?
发布于 2010-11-15 19:55:13
这不是许可协议的问题。它只是Eclipse试图防止您使用不属于官方JDK API的类(而是Oracle/Sun的JVM实现的一部分)。
是否有特殊的原因需要使用类转换(而不是使用the "official" interface java.lang.management.OperatingSystemMXBean)?
如果希望确保应用程序在预期的MXBean不可用时继续运行,可以添加一些try/catch逻辑来优雅地处理ClassCastException。
发布于 2013-02-01 20:55:44
转到Window-->Preferences-->Java-->Compiler-->Error/Warnings.选择弃用和受限制的API。将其更改为警告。更改禁用和不鼓励的引用,并将其更改为警告。(或者根据您的需要。)
谢谢。
发布于 2014-01-19 20:33:34
我为这个问题找到的最好的解决方案是:
https://stackoverflow.com/questions/4183864
复制相似问题