【问题标题】:unable to import org.sun.management.OperatingSystemMXBean in java class?无法在 java 类中导入 org.sun.management.OperatingSystemMXBean?
【发布时间】:2015-09-16 21:41:21
【问题描述】:

我在 JRE 系统库中看到了 org.sun.management,但我无法在我的 Eclipse 中导入。允许的任何原因。连 maven 编译都失败了

这里是截图。

我正在使用Java 8.

我正在尝试这样做:

if (operatingSystemBean  instanceof com.sun.mananagement.OperatingSystemMXBean) {


        })

【问题讨论】:

    标签: java java-8 sun


    【解决方案1】:

    Eclipse 阻止您访问 Sun 的专有实现细节,因为这些细节无法跨其他 JVM 移植。

    您可以更改项目设置,以便 Eclipse 将该类型的问题视为警告而不是错误。

    Mac 上最新 Eclipse 的步骤:

    项目 - 属性 -> Java 编译器 -> 错误/警告 -> 启用项目特定设置 -> 已弃用和受限制的 API -> 禁止引用:警告

    【讨论】:

    • 不是弃用错误。这是编译错误。甚至 Maven 编译失败(不使用 eclipse)
    • 我的 Eclipse 设置将问题显示为“访问限制:'OperatingSystemMXBean' 类型不是 API(对所需库 '..../jre/lib/rt.jar' 的限制”
    • 我为我的玩具项目创建了一个 pom.xml,其中包括相关的导入和 maven 编译成功。 mvn -version 为您输出什么?
    • Apache Maven 3.3.1 (cab6659f9874fa96462afef40fcf6bc033d58c1c; 2015-03-13T13:10:27-07:00) Maven home: /usr/local/apache-maven-3.3.1 Java version: 1.8.0_45, vendor: Oracle Corporation Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "10.10.4", arch: "x86_64", family: "mac"
    • 我的 Maven 设置看起来很相似,所以不确定这是否重要,但无论如何。 Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T12:57:37+01:00) Maven 主页:/usr/local/Cellar/maven/3.3.3/libexec Java 版本:1.8.0_60,供应商:Oracle Corporation Java 主页:/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre 默认语言环境:en_US,平台编码:UTF-8 操作系统名称:“mac os x”,版本:“10.10.5”,拱门:“x86_64”,家庭:“mac”
    【解决方案2】:

    我刚刚注意到您的代码中的 instanceof 检查有一个错字

    管理——应该是管理

    【讨论】: