Implement a better way to get the URL of the helma.jar file. To be more precise,

do not rely on HOP_HOME to contain the file.
This commit is contained in:
hns 2002-12-02 16:10:31 +00:00
parent 9954933145
commit b929268fb6

View file

@ -10,6 +10,7 @@ import helma.util.*;
import java.util.*;
import java.io.*;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.MalformedURLException;
/**
@ -60,7 +61,17 @@ public final class TypeManager {
prototypes = new HashMap ();
zipfiles = new HashMap ();
jarfiles = new HashSet ();
URL helmajar = new URL ("file:"+app.home.getAbsolutePath()+"/lib/helma.jar");
URL[] urls = ((URLClassLoader) TypeManager.class.getClassLoader()).getURLs();
URL helmajar = null;
for (int i=0; i<urls.length; i++) {
String url = urls[i].toString().toLowerCase();
if (url.endsWith ("helma.jar")) {
helmajar = urls[i];
break;
}
}
if (helmajar == null)
throw new RuntimeException ("helma.jar not found in embedding classpath");
loader = new AppClassLoader(app.getName(), new URL[] { helmajar });
}