【问题标题】:Anyone know how to get TCPMON working on a mac?任何人都知道如何让 TCPMON 在 Mac 上工作?
【发布时间】:2014-01-27 23:12:38
【问题描述】:

请不要关闭这个问题。它与程序员使用的工具有关,并且很可能有程序员相关的答案。

我正在尝试在没有 Apache 的 Mac 上运行 tcpmon。 我从这里 (https://code.google.com/p/tcpmon/) 下载了它,然后运行它。

$ java tcpmon-1.1.jar
Exception in thread "main" java.lang.NoClassDefFoundError: tcpmon-1/1/jar
Caused by: java.lang.ClassNotFoundException: tcpmon-1.1.jar
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

现在我的系统上没有 JDK,我下载的只是 JAR。 我想知道这是否是一个已知问题,以及是否有解决方法。

【问题讨论】:

    标签: exception tcpmon


    【解决方案1】:

    这是一个known bug with tcpmon(基本上 jar 没有正确构建)。

    JNLP

    您可以通过他们网站上的 JNLP 文件从以下位置运行它: http://tcpmon.googlecode.com/hg/www/tcpmon.jnlp

    JAR

    根据关于该错误的评论 #5,您可以通过如下方式重建 jar 来解决它(这是这些说明的稍微好一点的版本)

    unzip -d tcpmon-1.1 ~/Downloads/tcpmon-1.1.jar
    cd tcpmon-1.1
    jar cfe ../tcpmon-1.1-fixed.jar com.codegoogle.tcpmon.MainWindow com readme.html
    cd ..
    rm -rf tcpmon-1.1
    

    现在 tcpmon-1.1-fixed.jar 将以 just 开头

    java -jar tcpmon-1.1-final.jar
    

    或者,您现在可以在查找器中双击它。

    权限

    在任何一种情况下,您都可能需要调整 Mac 上的权限才能运行

    如果您收到有关该应用程序不是来自已识别开发人员的消息,请转到“系统偏好设置”并转到“常规”选项卡,其中会显示有关不允许 tcpmon-1.1.jar 打开并提供“打开”按钮的信息,请单击打开按钮。

    之后,您可能会收到来自 Java 的消息,说它不允许自签名代码。在这种情况下,您需要进入系统偏好设置,打开 Java 控制面板,进入安全控制面板并进行适当调整(一种选择是将滑块向下滑动到中)。我建议您在完成后将设置放回 Java 控制面板。

    【讨论】:

    • 懒人也可以直接运行:java -cp ~/Downloads/tcpmon-1.1.jar com.codegoogle.tcpmon.MainWindow com readme.html