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

但我收到“java.lang.ClassNotFoundException”错误,说它找不到 snmp 库的类。我解压缩了 jar 文件以确保我正在使用的类都在那里,而且它们是。

关于如何解决这个问题的任何想法?

4

1 回答 1

1

我会重新排列你的参数:

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

这样您的类路径就在类运行之前。请注意,如果您不指定-classpath,则您的类路径默认为当前目录,因此您的完整调用应该是:

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

指定类所在的根目录(即点),以及SNMP jar 文件。

-classpatharg 由 jar 文件和以冒号分隔的目录路径组成。有关设置类路径的更多信息,请参见此处

于 2012-06-19T13:28:43.973 回答