2
votes

I try to execute a jar xuggle-xuggler.jar and I have this error (I execute with java -jar command in the jar directory):

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/cl i/CommandLineParser
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.CommandLineP arser
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more

But I have all jar in the same directory commons-cli.jar logback-classic.jar logback-core.jar slf4j-api.jar.

Here the manifest:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_23-b23 (Sun Microsystems Inc.)
Implementation-Vendor: www.xuggle.com
Implementation-Title: xuggle-xuggler
Implementation-Version: 5.4.0
Main-Class: 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
Class-Path: commons-cli.jar logback-classic.jar logback-core.jar slf4j-api.jar

So, jar is visible, not include in xuggle-xuggler.jar, in the class-path...So I don't understand...

1

1 Answers

0
votes

To quote the oracle documentation regarding the Manifest file:

Warning: The text file must end with a new line or carriage return. The last line will not be parsed properly if it does not end with a new line or carriage return.