【问题标题】:No class def found error in server服务器中未发现类定义错误
【发布时间】:2012-08-09 05:38:55
【问题描述】:

我正在编写一个 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 自己解决了任何依赖关系,我需要在我的应用程序服务器中手动解决它吗?

问候
迪拉吉·乔希

【问题讨论】:

    标签: java ant noclassdeffounderror


    【解决方案1】:

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

    【讨论】:

    • 是的 ant.jar 也存在于类路径中
    • echo $classpath /root/ant.jar:/root/ant-jsch-1.6.jar:/root/jsch-0.1.48.jar javac Test.java
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 2014-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      相关资源
      最近更新 更多