[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: