1

私はいくつかのSNMP例をチェックしようとしているので、

  • ダウンロードしましたsnmp4j.jar
  • SNMP.javaを使用してコンパイルjavac -cp snmp4j.jar SNMP.java(OK)
  • を使用して開始しようとしましjava -cp snmp4j.jar SNMPたが、

それは報告します:

root@comp:~/workspace_c/SNMP# java -cp snmp4j.jar SNMP
Exception in thread "main" java.lang.NoClassDefFoundError: SNMP
Caused by: java.lang.ClassNotFoundException: SNMP
    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:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: SNMP.  Program will exit.

更新: そして、Javaプロジェクトにインポートすると、 ...snmp4j.jarで正常に動作します。ECLIPSE

UPDATE @ 2:の主要部分SNMP.java

import org.snmp4j.CommunityTarget;
...
public class SNMP {
  public static void main(String[] args) {
  ...
  }
}

私が間違っているのは何ですか?初めて会ったsnmp4jので気づいています

4

2 に答える 2

3

私が正しく理解していれば、SNMPあなたのサンプルクラスはjarの中にありません。その場合、jar と現在のディレクトリの両方をクラスパスに追加する必要があります。

java -cp .:snmp4j.jar SNMP
于 2012-04-22T08:32:33.393 に答える
1

私が見る限り、SNMP4J.jar(大文字) でアプリケーションを実行しようとしていますが、アプリケーションをコンパイルするときに、おそらく小文字バージョンを使用しました。プロンプトは、大文字と小文字を区別するファイル システムを持つ UNIX OS を使用していることを示しています。そのため、JAR ファイル名の大文字と小文字を確認してください。文字はすべて小文字だと思います。

于 2012-04-22T07:29:12.663 に答える