Beanshell Classpath Reihenfolge

  • Themenstarter Themenstarter justanotherone
  • Beginndatum Beginndatum
J

justanotherone

Gast
Hallo liebes Forum,

ich stehe vor folgendem Problem:
Ich "muss" einen Super-Import in mein Programm bezüglich Beanshell einbauen. Klappt auch ganz gut. Problem ist, dass ich aus Modulen in Form von Plugins Klassen nachlade. Die folgende Fehlermeldung erscheint beim Einbinden von HTMLUnit 2.9:
Code:
java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl cannot be cast to javax.xml.parsers.DocumentBuilderFactory

Ich lade die Klassen der Plugins über einen URLClassLoader nach und mache jetzt folgendes:
Java:
Interpreter i;
...
URLClassLoader urlCL = (URLClassLoader)ClassLoader.getSystemClassLoader();
for(URL url : urlCL.getURLs()){
    i.getClassManager().addClassPath(url);
}
i.eval("import *;");

Hier ein Bericht über das Classpath-Mapping von Beanshell:
Code:
Start ClassPath Mapping
Mapping: Directory C:\...\bin
Mapping: Archive: file:/C:/.../libraries/JSAP-2.1.jar
Mapping: Archive: file:/C:/.../jdk1.6.0_32/jre/lib/rt.jar
Mapping: Directory C:\...\bin
Mapping: Archive: file:/C:/.../libraries/JSAP-2.1.jar
Mapping: Directory C:\...\lib
Mapping: Archive: file:/C:/.../lib/bsh-2.0b4.jar
Mapping: Directory C:\...\lib\htmlunit-2.9
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-codec-1.4.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-collections-3.2.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-io-2.0.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-lang-2.6.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-logging-1.1.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/cssparser-0.9.5.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/htmlunit-2.9.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/htmlunit-core-js-2.9.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/httpclient-4.1.2.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/httpcore-4.1.2.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/httpmime-4.1.2.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/nekohtml-1.9.15.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/sac-1.3.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/serializer-2.7.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/xalan-2.7.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/xercesImpl-2.9.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/xml-apis-1.3.04.jar
Mapping: Directory C:\...\plugins
Mapping: Archive: file:/C:/.../plugins/....jar
End ClassPath Mapping

Hat jemand eine Ahnung, was ich ändern kann? Ich nehme an, der Fehler oben entsteht, da Beanshell (oder Java?) versucht, die Klasse aus der Standardbibliothek anstatt aus Apache-Biblitheken zu laden. Was muss ich tun, um die eingebundenen Bibiliotheken höher zu priorisieren, also in der Reihenfolge zu verschieben?

LG und vielen Dank im Voraus!
 
Da ist die Formatierung abhanden gekommen... Hier erneut der Report:
Code:
Start ClassPath Mapping
Mapping: Directory C:\...\bin
Mapping: Archive: file:/C:/.../libraries/JSAP-2.1.jar
Mapping: Archive: file:/C:/.../jdk1.6.0_32/jre/lib/rt.jar
Mapping: Directory C:\...\bin
Mapping: Archive: file:/C:/.../libraries/JSAP-2.1.jar
Mapping: Directory C:\...\lib
Mapping: Archive: file:/C:/.../lib/bsh-2.0b4.jar
Mapping: Directory C:\...\lib\htmlunit-2.9
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-codec-1.4.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-collections-3.2.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-io-2.0.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-lang-2.6.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/commons-logging-1.1.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/cssparser-0.9.5.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/htmlunit-2.9.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/htmlunit-core-js-2.9.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/httpclient-4.1.2.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/httpcore-4.1.2.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/httpmime-4.1.2.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/nekohtml-1.9.15.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/sac-1.3.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/serializer-2.7.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/xalan-2.7.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/xercesImpl-2.9.1.jar
Mapping: Archive: file:/C:/.../lib/htmlunit-2.9/xml-apis-1.3.04.jar
Mapping: Directory C:\...\plugins
Mapping: Archive: file:/C:/.../plugins/....jar
End ClassPath Mapping
 

Zurück
Oben