我正在尝试构建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文件以确保我使用的类都在那里,而且它们都是。
关于如何解决这个问题的任何想法?
答案 0 :(得分:1)
我会重新排列你的args:
~/Desktop$ java -classpath ./snmpclient/snmp.jar snmpclient.Client
这样你的类路径就会在类之前运行。请注意,如果未指定-classpath
,则类路径默认为当前目录,因此您的完整调用应为:
~/Desktop$ java -classpath ./snmpclient/snmp.jar:. snmpclient.Client
指定类所在的根目录(即点), plus SNMP jar文件。
-classpath
arg由jar文件和以冒号分隔的目录路径组成。有关设置类路径的详细信息,请参阅here。