线程" main"中的例外情况java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory - 命令行

时间:2018-04-25 06:55:39

标签: java ftp

我正在尝试运行一个jar文件,它将文件从FTP服务器下载到我的本地机器,并且根据用户手册,包含用于执行任务的类文件的ftpcourier.jar。 根据用户手册我准备了一个命令,但我在控制台上获得了NoClassDefFoundError。

C:\Program Files\Java\jdk1.7.0_79\jre\bin>java  -Demail-conf-path=d:\config -jar ftpcourier.jar -d RCVE -h test.hostname.com -u smandal -w Password# -f /TIFR/report.xls -t d:\Local -s true -p 22 -x true

在控制台上收到错误

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/
    at com.dmainc.commons.stuff.ftp.FTPCourier.<clinit>(FTPCourier
Caused by: java.lang.ClassNotFoundException: org.apache.commons.loggin
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:30
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 1 more

我在环境变量中添加了commons-logging-1.1.1.jar完整路径。 任何建议请。

1 个答案:

答案 0 :(得分:0)

您不应将其添加到环境变量中,而是可以在命令行中添加该路径。像这样在命令中给出目录路径。 *意味着它将占用给定路径中的所有罐子

C:\Program Files\Java\jdk1.7.0_79\jre\bin>java -cp .;<path>\*;  -Demail-conf-path=d:\config -jar ftpcourier.jar -d RCVE -h test.hostname.com -u smandal -w Password# -f /TIFR/report.xls -t d:\Local -s true -p 22 -x true