0

我正在编写一个 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 文件。I am not class not found 是针对 org.apache.tools.ant.Task 而不是针对 scp 类 (org.apache.tools.ant.taskdefs.optional.ssh.Scp) 本身。

这是因为 Eclipse 自行解决的任何依赖关系,我需要在我的应用程序服务器中手动解决它吗?

问候
Dheeraj Joshi

4

2 回答 2

1

是的 ant.jar 必须在您执行 scp 命令的类路径中

于 2012-08-09T06:26:16.980 回答
0

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

于 2012-08-10T04:37:09.777 回答