Niklaus Bucher
Grünschnabel
Hallo
ist es möglich, den ClassPath per Classloader irgendwie künstlich zu erweitern? Grund dafür ist, dass ich die jars die API nicht wegkopieren kann und die Zeichenlänge des ClassPaths beschränkt ist.
Ich würde mir das inetwa so vorstellen:
wäre das möglich - oder gibt es bessere Möglichkeiten?
Vielen Dank im Voraus für eure Hilfe.
Gruss Nik
ist es möglich, den ClassPath per Classloader irgendwie künstlich zu erweitern? Grund dafür ist, dass ich die jars die API nicht wegkopieren kann und die Zeichenlänge des ClassPaths beschränkt ist.
Ich würde mir das inetwa so vorstellen:
Code:
import java.util.ArrayList;
import java.util.Iterator;
public final class MyClassLoader extends ClassLoader {
MyClassLoader() {
ArrayList jars = new ArrayList();
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/agenda.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/aportisdoc.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/bsh.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/classes.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/commonwizards.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/fax.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/form.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/hsqldb.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/java_uno.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/java_uno_accessbridge.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/js.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/juh.jar");
jars.add("C:/Programme/OpenOffice.org 2.3/program/classes/jurt.jar");
// usw. kann auch dynamisch geladen werden
Iterator i = jars.iterator();
while (i.hasNext()) {
System.load((String) i.next());
}
}
protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
return super.loadClass(name, resolve);
}
}
wäre das möglich - oder gibt es bessere Möglichkeiten?
Vielen Dank im Voraus für eure Hilfe.
Gruss Nik