包com.sun.jdmk.comm不存在

时间:2015-01-08 12:46:39

标签: java jmx

我找到了使用jmx的例子:

import javax.management.*;
import java.lang.management.*;
import com.sun.jdmk.comm.HtmlAdaptorServer;

public class SimpleAgent
{
    private MBeanServer mbs = null;

    public SimpleAgent()
    {
        // Получить экземпляр MBeanServer
        mbs = ManagementFactory.getPlatformMBeanServer();
        HtmlAdaptorServer adapter = new HtmlAdaptorServer();

        // Создаем наш MBean
        Hello helloBean = new Hello();
        ObjectName adapterName = null;
        ObjectName helloName = null;

        try {
            // И регистрируем его на платформе MBeanServer
            helloName = new ObjectName("SimpleAgent:name=hellothere");
            mbs.registerMBean(helloBean, helloName);

            // Теперь мы регистрируем коннектор, который
            // будет доступен по HTTP-протоколу
            adapterName = new ObjectName("SimpleAgent:name=htmladapter,port=8000");
            adapter.setPort(8000);
            mbs.registerMBean(adapter, adapterName);
            adapter.start();

        } catch(Exception e) {
            e.printStackTrace();
        }
    }

    // Это вспомогательный метод - он позволяет нашей программе
    // остановиться и ждать
    private static void waitForEnterPressed()
    {
        try {
            System.out.println("Press  to continue...");
            System.in.read();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String argv[])
    {
        SimpleAgent agent = new SimpleAgent();
        System.out.println("SimpleAgent is running...");
        SimpleAgent.waitForEnterPressed();
    }
}

但是在编译代码后,我看到以下消息:

java: package com.sun.jdmk.comm does not exist

java: cannot find symbol
  symbol:   class HtmlAdaptorServer
  location: class com.journaldev.jmx.SystemConfigManagement

java: cannot find symbol
  symbol:   class HtmlAdaptorServer
  location: class com.journaldev.jmx.SystemConfigManagement

我使用jdk 1.8

我应该使用外部库来解决上面提到的错误吗?

2 个答案:

答案 0 :(得分:2)

在构建路径中添加jmxtools.jar

或添加以下maven依赖项:

<dependency>
    <groupId>com.sun.jdmk</groupId>
    <artifactId>jmxtools</artifactId>
    <version>1.2.1</version>
</dependency>

答案 1 :(得分:2)

将此依赖项添加到您的pom.xml

<!-- https://mvnrepository.com/artifact/com.betfair.net.java.opendmk/core -->
<dependency>
    <groupId>com.betfair.net.java.opendmk</groupId>
    <artifactId>core</artifactId>
    <version>1.0-b02</version>
</dependency>