【问题标题】:NoClassDefFoundError but jar in correct pathNoClassDefFoundError 但 jar 在正确的路径中
【发布时间】:2012-07-17 15:29:46
【问题描述】:

我尝试执行一个 jar xuggle-xuggler.jar 并且出现此错误(我在 jar 目录中使用 java -jar 命令执行):

线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/commons/cl i/CommandLineParser
在 java.lang.Class.getDeclaredMethods0(Native Method)
在 java.lang.Class.privateGetDeclaredMethods(未知来源)
在 java.lang.Class.getMethod0(未知来源)
在 java.lang.Class.getMethod(未知来源)
在 sun.launcher.LauncherHelper.getMainMethod(未知来源)
在 sun.launcher.LauncherHelper.checkAndLoadMain(未知来源)
引起:java.lang.ClassNotFoundException:org.apache.commons.cli.CommandLineP 亚瑟
在 java.net.URLClassLoader$1.run(未知来源)
在 java.net.URLClassLoader$1.run(未知来源)
在 java.security.AccessController.doPrivileged(Native Method)
在 java.net.URLClassLoader.findClass(未知来源)
在 java.lang.ClassLoader.loadClass(未知来源)
在 java.lang.ClassLoader.loadClass(未知来源)
... 6 更多

但是我所有的jar都在同一个目录commons-cli.jar logback-classic.jar logback-core.jar slf4j-api.jar。

这里是清单:

清单版本:1.0
Ant 版本:Apache Ant 1.8.2
创建者:1.6.0_23-b23(Sun Microsystems Inc.)
实施供应商:www.xuggle.com
实现-标题:xuggle-xuggler
实施版本:5.4.0
主类:com.xuggle.xuggler.Converter
Xuggle-Native-App:xuggle-xuggler
Xuggle-Native-Root:/com/xuggle/ferry
Xuggle-Native-Paths:i386-xuggle-darwin11;i686-pc-linux-gnu;i686-w64 -mingw32;x86_64-pc-linux-gnu;x86_64-w64-mingw32;x86_64-xuggle-darwin11
Xuggle-Native-Bundles: i386-xuggle-darwin11;i686-pc-linux-gnu;i686-w64 -mingw32;x86_64-pc-linux-gnu;x86_64-w64-mingw32;x86_64-xuggle-darwin11
类路径:commons-cli.jar logback-classic.jar logback-core.jar slf4j-api.jar

所以,jar 是可见的,不包括在 xuggle-xuggler.jar 中,在类路径中......所以我不明白......

【问题讨论】:

    标签: java jar noclassdeffounderror


    【解决方案1】:

    引用oracle documentation regarding the Manifest file

    警告:文本文件必须以换行符或回车符结尾。 如果最后一行不以 a 结尾,则将无法正确解析 换行或回车。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 1970-01-01
      相关资源
      最近更新 更多