我正在编写一个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
答案 0 :(得分:1)
是的,ant.jar必须位于执行scp命令的类路径中
答案 1 :(得分:0)
找到解决方案。我们需要ant-1.6.jar来运行它。不只是ant.jar