请不要关闭此问题。它与程序员使用的工具有关,很可能与程序员有相关的答案。
我正在尝试在没有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。 我想知道这是否是一个已知的问题,如果有一个解决方法。
答案 0 :(得分:5)
这是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将以
开头java -jar tcpmon-1.1-final.jar
或者你现在可以在finder中双击它。
<强>权限强>
在任何一种情况下,您可能需要调整Mac上的权限才能运行
如果您收到有关应用程序不是来自已识别的开发人员的消息,请转到“系统偏好设置”并转到“常规”选项卡,该选项卡将说明不允许打开tcpmon-1.1.jar并提供“打开”按钮的信息,请单击打开按钮。
之后,您可能会收到来自Java的消息,说它不允许自签名代码。在这种情况下,您需要转到系统偏好设置,打开Java控制面板,转到安全控制面板并进行适当调整(一个选项是将滑块向下滑动到中)。完成后,我建议将设置重新放回Java控制面板。