2

我想知道是否可以通过 web start 启动 JConsole。

例如,我有一个 Web 应用程序,当用户单击一个按钮(具有 JMX 端点的 IP:PORT)时,我想启动 JConsole,以便用户能够监视特定的 JMX 端点。

在我的服务器中,我安装了 Java,所以我认为这是可能的。

有没有人尝试过这样做。考虑到我想启动一个不是我开发的应用程序,我会有什么问题吗?

提前致谢。

编辑我 .jnlp 文件如下

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="" href="">    
    <information>        
        <title>JConsole Web Start</title>        
        <vendor>User</vendor>    
    </information>        
    <security>         
        <all-permissions />    
    </security>        
    <resources>        
        <j2se version="1.6+" initial-heap-size="150m" max-heap-size="512m" />        
        <jar href="http://127.0.0.1/jconsole.jar" main="true" />    
    </resources>    
    <application-desc name="sun.tools.jconsole.JConsoleWebStart" 
main-class="sun.tools.jconsole.JConsole" width="300" height="300">        
        <argument><![CDATA[hostname:port]]></argument>    
    </application-desc>
</jnlp>

我发现这可以工作。但是,它不适用于 Java 7,会为"Bad package name of main class"抛出异常。我尝试了 Java 6 并且工作正常,无法真正理解原因。

编辑二: 最后我发现上面的.jnlp不能以Java 7开头的原因是主类的sun.tools.jconsole包名。Java7 似乎不喜欢以 sun 开头的包名。因此,我创建了自己的 jar,它实际上将 jconsole 包装在里面并且它可以工作。

4

0 回答 0