Executable jar can't find classes in secondary jar on classpath.
807589Sep 11 2008 — edited Sep 12 2008I am trying to create an executable jar for a eclipse swing project, but no class in the swing-layout-1.0.3.jar will load.
Why can't java find the classes in the extra Jar?
As far as I can tell the classpath inside the jar is correct but I haven't gotten anything working yet so what do I know.
On execution here's the error:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
Caused by: java.lang.ClassNotFoundException: org.jdesktop.layout.GroupLayout$Group
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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Here's the directory for the testpojo.jar.
Directory of C:\DOCUME~1\MDARR\WORKSP~1\TESTPO~1\TARGET
9/11/2008 10:44 PM <DIR> .
9/11/2008 10:44 PM <DIR> ..
9/11/2008 10:44 PM 2,850 AbsoluteLayout.jar
9/11/2008 07:01 PM 1,067 jardescription.jardesc
9/08/2008 08:56 PM <DIR> META-INF
9/11/2008 11:09 PM 26,699 runoutput.txt
9/11/2008 10:44 PM 118,103 swing-layout-1.0.3.jar
9/11/2008 10:56 PM 51,660 testpojo.jar
Here's the contents and manifest in testpojo.jar
META-INF/MANIFEST.MF
testpojo/
testpojo/app$1.class
testpojo/app.class
testpojo/app.form
lib/
lib/AbsoluteLayout.jar
lib/swing-layout-1.0.3.jar
.project
.classpath
Class-Path: swing-layout-1.0.03.jar AbsoluteLayout.jar
Main-Class: testpojo.app> Entry should be testpojo/app.class
Manifest-Version: 1.0
Swing jar contents and manifest
META-INF/
META-INF/MANIFEST.MF
org/
org/jdesktop/
org/jdesktop/layout/
org/jdesktop/layout/AquaLayoutStyle$ComponentInsets.class
org/jdesktop/layout/AquaLayoutStyle.class
org/jdesktop/layout/Baseline.class
org/jdesktop/layout/GnomeLayoutStyle.class
org/jdesktop/layout/GroupLayout$1.class
org/jdesktop/layout/GroupLayout$AutopaddingMatch.class
org/jdesktop/layout/GroupLayout$AutopaddingSpring.class
org/jdesktop/layout/GroupLayout$BaselineGroup.class
org/jdesktop/layout/GroupLayout$ComponentInfo.class
org/jdesktop/layout/GroupLayout$ComponentSpring.class
org/jdesktop/layout/GroupLayout$ContainerAutopaddingSpring.class
org/jdesktop/layout/GroupLayout$GapSpring.class
org/jdesktop/layout/GroupLayout$Group.class
org/jdesktop/layout/GroupLayout$LinkInfo.class
org/jdesktop/layout/GroupLayout$PaddingSpring.class
org/jdesktop/layout/GroupLayout$ParallelGroup.class
org/jdesktop/layout/GroupLayout$SequentialGroup.class
org/jdesktop/layout/GroupLayout$Spring.class
org/jdesktop/layout/GroupLayout$SpringDelta.class
org/jdesktop/layout/GroupLayout.class
org/jdesktop/layout/LayoutStyle.class
org/jdesktop/layout/MetalLayoutStyle.class
org/jdesktop/layout/SwingLayoutStyle.class
org/jdesktop/layout/WindowsLayoutStyle.class
X-COMMENT: Main-Class will be added automatically by build
Created-By: 1.5.0_10-b03 (Sun Microsystems Inc.)
Ant-Version: Apache Ant 1.7.0
Manifest-Version: 1.0
TIA,
Maurice