有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java编译/运行时类路径问题

我正在尝试构建一个Java SNMP客户端。我的Ubuntu桌面上有一个名为snmpclient的文件夹。在该文件夹中,我有一个主类客户机。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文件,以确保我使用的类都在那里,而且它们都在

你知道我该怎么解决这个问题吗


共 (1) 个答案

  1. # 1 楼答案

    我将重新安排您的参数,如下所示:

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

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

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

    要指定类所在的根目录(即点),加上SNMP jar文件

    -classpath参数由jar文件和到目录的路径组成,目录之间用冒号分隔。有关设置类路径的更多信息,请参见here