服务器中没有类def def发现错误

时间:2012-08-09 05:38:56

标签: java ant noclassdeffounderror

我正在编写一个SCP客户端应用程序,我正在使用ant-jsch将文件scp到远程服务器。 Scp客户端在我的调试设置(eclipse设置)中工作正常。该文件将复制到远程服务器。

但是当我将代码放入服务器并尝试运行scp客户端时,我得到以下错误

Exception in thread "Thread-6:159-1" java.lang.NoClassDefFoundError: org/apache/tools/ant/Task
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)

jar文件位于适当的位置,当导出类路径时,我可以看到这些jar文件。我找不到类org.apache.tools.ant.Task不是为了scp类(org.apache.tools.ant.taskdefs.optional.ssh.Scp)本身。

这是因为eclipse独立解决的任何依赖,我需要在我的应用服务器中手动解决它吗?

问候
Dheeraj Joshi

2 个答案:

答案 0 :(得分:1)

是的,ant.jar必须位于执行scp命令的类路径中

答案 1 :(得分:0)

找到解决方案。我们需要ant-1.6.jar来运行它。不只是ant.jar