0

Java SNMP クライアントを構築しようとしています。Ubuntu デスクトップに snmpclient というフォルダーがあります。そのフォルダー内には、メイン クラスの Client.java と、メイン クラスで使用される snmp.jar ライブラリがあります。

ターミナルで次のコマンドを使用して、正常にコンパイルできました。

~/Desktop$ javac snmpclient/Client.java -classpath ./snmpclient/snmp.jar 

次に、このコマンドで実行しようとしました:

~/Desktop$ java snmpclient.Client -classpath ./snmpclient/snmp.jar

しかし、snmp ライブラリーのクラスが見つからないという「java.lang.ClassNotFoundException」エラーが発生します。使用しているクラスがすべてそこにあることを確認するために、jar ファイルを解凍しました。

これを解決する方法について何か考えはありますか?

4

1 に答える 1

1

私はあなたの引数を次のように再配置します:

~/Desktop$ java -classpath ./snmpclient/snmp.jar snmpclient.Client

クラスパスがクラスの前に実行されるようにします。を指定しない場合、クラスパスはデフォルトで現在のディレクトリになることに注意してください-classpath。したがって、完全な呼び出しは次のようになります。

~/Desktop$ java -classpath ./snmpclient/snmp.jar:. snmpclient.Client

クラスが存在するルート ディレクトリ (ドット) と SNMP jar ファイルを指定します

arg は、-classpathコロンで区切られた jar ファイルとディレクトリへのパスで構成されます。クラスパスの設定の詳細については、こちらを参照してください。

于 2012-06-19T13:28:43.973 に答える