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

次の Web サイトから 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

または、ファインダーでダブルクリックすることもできます。

権限

いずれの場合も、Mac を実行できるように、Mac のアクセス許可を調整する必要がある場合があります。

アプリが識別された開発者からのものではないというメッセージが表示された場合は、[システム設定] に移動し、[全般] タブに移動して、tcpmon-1.1.jar を開くことを許可しないことについて説明し、[開く] ボタンをクリックしてください。

その後、Java から、自己署名コードが許可されていないというメッセージが表示される場合があります。その場合は、システム環境設定に移動し、Java コントロール パネルを開き、セキュリティ コントロール パネルに移動して、適切に調整する必要があります (1 つのオプションは、スライダーを [中] までスライドさせることです)。完了したら、設定を Java コントロール パネルに戻すことをお勧めします。

于 2014-01-28T01:56:48.063 に答える