Re: Help wanted in Java library packaging (JEBL2)
On Mon, Feb 14, 2011 at 7:45 AM, Andreas Tille <andreas@an3as.eu> wrote:
> $ figtree
> Exception in thread "main" java.lang.NoClassDefFoundError: jam/framework/MultiDocApplication
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
> at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> Caused by: java.lang.ClassNotFoundException: jam.framework.MultiDocApplication
> at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
> ... 11 more
You need to define the classpath of figtree by one of two ways:
(1)
add to debian/rules:
export CLASSPATH=/usr/share/java/jebl.jar:/usr/share/java/jam.jar:/usr/share/java/freehep-graphics2d.jar:/usr/share/java/freehep-graphicsio.jar:/usr/share/java/freehep-graphicsio-pdf.jar:/usr/share/java/freehep-graphicsio-ps.jar:/usr/share/java/libfreehep-graphicsio-emf.jar:/usr/share/java/libfreehep-graphicsio-swf.jar:/usr/share/java/libfreehep-graphicsio-svg.jar:/usr/share/java/freehep-export.jar:/usr/share/maven-repo/org/freehep/freehep-graphicsio-emf/2.1.1/freehep-graphicsio-emf-2.1.1.jar:/usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1/freehep-graphicsio-svg-2.1.1.jar:/usr/share/maven-repo/org/freehep/freehep-graphicsio-swf/2.1.1/freehep-graphicsio-swf-2.1.1.jar:lib/iText.jar
and then delete the Class-Path: entry from debian/figtree.manifest
OR
(2)
make your debian/figtree.manifest:
usr/share/figtree/figtree.jar:
Class-Path: /usr/share/java/jebl.jar /usr/share/java/jam.jar
/usr/share/java/freehep-graphics2d.jar
/usr/share/java/freehep-graphicsio.jar
/usr/share/java/freehep-graphicsio-pdf.jar
/usr/share/java/freehep-graphicsio-ps.jar
/usr/share/java/libfreehep-graphicsio-emf.jar
/usr/share/java/libfreehep-graphicsio-swf.jar
/usr/share/java/libfreehep-graphicsio-svg.jar
/usr/share/java/freehep-export.jar
/usr/share/maven-repo/org/freehep/freehep-graphicsio-emf/2.1.1/freehep-graphicsio-emf-2.1.1.jar
/usr/share/maven-repo/org/freehep/freehep-graphicsio-svg/2.1.1/freehep-graphicsio-svg-2.1.1.jar
/usr/share/maven-repo/org/freehep/freehep-graphicsio-swf/2.1.1/freehep-graphicsio-swf-2.1.1.jar
lib/iText.jar
Main-class: figtree/application/FigTreeApplication
of course make the libraries "correct" libraries and not these hacks.
I've built and used the figtree application after making these
changes.
Regards,
Scott
Reply to: