chocolateboy wrote:Nope. The classpath items in the plist replace the -classpath options on that line.
For crying out loud! How about -cp?
Same. they do that intentionally.
chocolateboy wrote:Nope. The classpath items in the plist replace the -classpath options on that line.
For crying out loud! How about -cp?
cabbey wrote:chocolateboy wrote:Nope. The classpath items in the plist replace the -classpath options on that line.
For crying out loud! How about -cp?
Same. they do that intentionally.
chocolateboy wrote:In that case, I probably won't even bother looking at Limewire. It's obvious they (Apple? Ant developers? JarBundler developers?) are deliberately thwarting this solution, and, as you say, loading jars dynamically with class loader hacks is an ugly code-smell solution for something that shouldn't be an issue, and isn't on any other platform.
Thanks for your help (and workaround).
cabbey wrote:In theory it's a security reason.
I don't know if JarBundler can support that. (And after two tries, I've not been able to successfully build the app from your sources to validate any of those theories.)
possibly looking at a plugin manager like http://sourceforge.net/projects/javapmes/ would be a good idea
in addition to abstracting the uglyness of shoving an additional URLClassLoader into the system. (which in and of it's self isn't a bad thing
cabbey wrote:(you can't pass a wild card on the command line to java either so far as I can tell)
I didn't dig too deeply into JarBundler to see where they got the bit of native code that is the java stub launcher they package into the App bundle... but I suspect it's standard Apple issue, so it will have the same limitations. Technically it's an issue on most other platforms as well, the difference is that you have a shell script that wraps up the java call and builds the classpath for you. You could do that on OS/X as well... possibly even with the same shell script... but I don't know if JarBundler can support that.
#!/bin/sh
# set environment variables here
export LANG=en_US.UTF-8
working_dir=`pwd`
classpath=`(find $working_dir/ -maxdepth 1 -name update.jar; find $working_dir/plugins -name '*.jar') | paste -s -d':'`
# execute the real JavaApplicationStub
here="${0%/*}"
cmd="JavaApplicationStub"
if [ x"$classpath" != x"" ]; then
exec "$here/$cmd" -classpath "$classpath" "$@"
else
exec "$here/$cmd" "$@"
fi
blueshifter wrote:Can anyone confirm they have gotten this to work?
chocolateboy wrote:Got what to work? There are multiple proposed workarounds in this thread.
Return to Additions and Plugins
Users browsing this forum: No registered users and 6 guests