1

我正在尝试检查一些SNMP示例,所以

  • 我已经下载了snmp4j.jar
  • SNMP.java使用编译javac -cp snmp4j.jar SNMP.java(没关系)
  • 尝试使用 启动它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.

更新: 当我导入snmp4j.jarjava项目时,它在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 和当前目录都添加到类路径中:

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

据我所知,您正在尝试使用SNMP4J.jar(大写)运行您的应用程序,但是当您编译您的应用程序时,您可能使用了小写版本。您的提示显示您正在使用具有区分大小写文件系统的 unix 操作系统。因此,请检查 JAR 文件名的大小写。我相信所有字母都是小写的。

于 2012-04-22T07:29:12.663 回答