ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
581
581
EMPFEHLEN
-
18.12.06 18:01 #1
- Registriert seit
- May 2006
- Beiträge
- 20
Hallo,
folgende Situation:
Mittels eines PluginFrameworks wird der gesamte Classpath nach Klassen gesucht, die ein bestimmtes PluginInterface implementieren. Das funktioniert auch wunderbar, solange es sich um "normale" Java-Anwendungen handelt.
Läuft das ganze allerdings über einen Servlet-Container (bspw. Tomcat) enthält der Classpath den Pfad zu WEB-INF/classes leider nicht, weswegen die entsprechenden Plugins nicht gefunden werden.
Klar könnte ich nun über System.setproperty den lokalen Pfad zum Classpath hinzufügen, aber das wäre ja äusserst unschön.
Da das PluginFramework an sich absolut portabel bleiben soll, kann ich dort auch nicht mit Dingen wie ServletContext arbeiten.
Ein bißchen googlen brachte mir zumindest schon mal mehrere Seite zum Thema Classloader.
Ich komme auch per Thread.currentThread().getContextClassLoader(); an den Classloader (webappClassLoader) des Servlets, der also repository auch /WEB-INF/classes enthält, aber ich habe keine Ahnung was ich damit denn nun anstellen kann.
Eine Alternative wäre es, den PluginLoader so zu ändern, dass er nicht mehr über den Classpath sucht. Dann bräuchte ich allerdings Hilfe, wie ich denn alle für einen ClassLoader sichtbaren Dateien bekommen.
Vielleicht hat ja jemand einen Tipp für mich.
Gruß,
AceGeändert von AceTheFace (18.12.06 um 18:08 Uhr)
-
19.12.06 13:43 #2
- Registriert seit
- May 2006
- Beiträge
- 20
Also meine momentane Lösung sieht so aus:
Code java:1 2 3 4 5 6 7 8 9 10
String classPath = System.getProperty("java.class.path"); try { String context = Thread.currentThread().getContextClassLoader().getResource("/").getFile(); if(!classPath.contains(context)) { classPath += ":"+context; System.setProperty("java.class.path",classPath); } } catch(NullPointerException e) { }
Funktioniert sowohl bei Servlets als auch bei "normalen" Anwendungen. Wenn jemand noch schönere Lösungen hat, immer her mit
Gruß,
Ace
Ähnliche Themen
-
Jar Dateien aus jar Datei in Classpath Aufnehmen
Von Thomas Darimont im Forum JavaAntworten: 5Letzter Beitrag: 08.06.11, 10:36 -
import classes
Von sirvival im Forum JavaAntworten: 3Letzter Beitrag: 05.09.06, 22:45 -
Div + Classes
Von vocki im Forum CSSAntworten: 5Letzter Beitrag: 08.03.05, 13:44 -
Ma wieder die lieben classes
Von Strahleman im Forum CSSAntworten: 7Letzter Beitrag: 06.02.03, 22:28 -
Classes
Von js-mueller im Forum PHPAntworten: 2Letzter Beitrag: 24.07.02, 02:08





Zitieren
Login





