Re: Next question for help in Java packaging: beast-mcmc
On Fri, Feb 18, 2011 at 09:31:09AM -0500, Scott Howard wrote:
> > ... but failed. Any idea why this does not work?
>
> Is it failing when you try to execute the .jar? (Saying can't find jam.jar?)
Yes.
> I don't know the insides of jh_manifest and dh7 style commands, but I
> usually see debian/rules files that export CLASSPATH. I don't know
> explicitly why (is it running a sub-make, does it call it from another
> shell?) but "export CLASSPATH" worked for figtree, my java packages,
> and in the examples in the tutorial.
I would have tried if I would have understood this hint because I was
not aware that the make statement "export" has the effect you described.
I simply assumed that make variables are global anyway and now I
realised what you mean.
Because of the trouble with debian/manifest I now decided to go for
this method and have uploaded my current work to
http://people.debian.org/~tille/packages/beast-mcmc-help-wanted/
It becames definitely *better* now but at the same time it became
more puzzling. The fact is that the binaries
/usr/bin/beast-mcmc
/usr/bin/beauti
/usr/bin/loganalyser
seem to work as expected. However
$ /usr/bin/logcombiner
Exception in thread "main" java.lang.NoClassDefFoundError: jam/console/ConsoleApplication
at dr.app.tools.LogCombiner.main(Unknown Source)
Caused by: java.lang.ClassNotFoundException: jam.console.ConsoleApplication
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)
... 1 more
I completely fail to understand the reason for this because both are
very similar - just calling a different MainClass in the very same JAR:
$ grep "^java" /usr/bin/{loganalyser,logcombiner}
/usr/bin/loganalyser:java -Xms64m -Xmx1024m -Djava.library.path="$BEAST_LIB" -cp "$BEAST_LIB/beast.jar" dr.app.tools.LogAnalyser $*
/usr/bin/logcombiner:java -Xms64m -Xmx1024m -Djava.library.path="$BEAST_LIB" -cp "$BEAST_LIB/beast.jar" dr.app.tools.LogCombiner $*
The same failure happens for the other two wrapper scripts treeannotator
and treestat.
Any idea?
Thanks for all your patient help so far
Andreas.
--
http://fam-tille.de
Reply to: