0

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

我试图在没有 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。我想知道这是否是一个已知问题,以及是否有解决方法。

4

1 回答 1

5

这是tcpmon 的一个已知错误(基本上 jar 没有正确构建)。

JNLP

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

或者

根据关于错误的评论#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 将以刚刚开始

java -jar tcpmon-1.1-final.jar

或者,您现在可以在 finder 中双击它。

权限

无论哪种情况,您都可能需要调整 Mac 上的权限,以便它可以运行

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

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

于 2014-01-28T01:56:48.063 回答