ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
1198
1198
EMPFEHLEN
-
Guten Tag
Ich wusste nicht in welches Unterforum ich mit diesem Thread hinsollte, darum poste ich es einfach mal hier
Das man die JAR-Dateien im "manifest.mf" unter Bundle-ClassPath angeben kann weiss ich. Jedoch habe ich das Problem das ich weder die Anzahl noch den Namen der JAR-Dateien kenne.
Ich kenne lediglich Verzeichnis, in dem sich die Libraries befinden.
Ich möchte alle diese Libraries aus diesem Verzeichnis in einem Plugin laden, um sie über Wrapper-Klassen anderen Plugins zur verfügung stellen zu können.
Nun lautet meine Frage:
Wie kann ich alle Libraries aus einem Verzeichnis laden, damit sie das Plugin, in dem sie geladen werden, kennt?
Vielen Dank für eure Hilfe!
-
Über einen URLClassLoader würde das gehen. Ich weiß aber natürlich nicht genau was du vorhast.
-
Das habe ich auch schon probiert. Bis jetzt bin ich jedoch erst soweit:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
protected static void loadClasses() { File libDir = getLibDir(); if (libDir == null) return; ArrayList<URL> urls = new ArrayList<URL>(); for (String file : libDir.list()) { if (file.endsWith(".jar")) { try { urls.add(new URL("jar", "", "file:" + new File(file).getAbsolutePath() + "!/")); } catch (MalformedURLException e) { Logger.getLogger(Test.class).error("Couldn't add " + file + " to the library-list", e); } } } URLClassLoader classLoader = URLClassLoader.newInstance(urls.toArray(new URL[] {})); String clazz = "xxx.AnyClass"; try { [B]classLoader.loadClass(clazz)[/B]; } catch (ClassNotFoundException e) { Logger.getLogger(Test.class).error("Couldn't load class " + clazz, e); } }
classLoader.loadClass(clazz) wirft eine java.lang.ClassNotFoundException.
-
URLs nach möglichkeit nicht selber konstruieren. In deinem Fall
file.toURI().toURL()
-
23.04.09 11:58 #5
Was halt grundsätzlich suspekt ist, dass du Eclipse RCP (und damit einen OSGi Container) benutzt und dann irgendwelchen Classloaderfoo machen willst. IMHO ist es an der Stelle Zeit, nen Schritt zurück zu machen und zu überlegen, was das eigentlich Ziel ist, was du erreichen willst. Warum willst du beliebige JAR's laden? Warum nutzt du nicht das Extenderpattern um beim deployen eines Bundles in den OSGi Container darauf zu reagieren.
Grundsätzlich: was hast du vor?
Gruß
OllieIn theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
-
23.04.09 13:24 #6
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
So abwegig ist das IMHO nicht. Stell dir doch nur mal vor du baust einen generischen Datenbank-Client als Eclipse RCP Anwendung. Dort willst du dann vielleicht die JDBC Treiber jars dynamisch in der Anwendung angeben können.Was halt grundsätzlich suspekt ist, dass du Eclipse RCP (und damit einen OSGi Container) benutzt und dann irgendwelchen Classloaderfoo machen willst. IMHO ist es an der Stelle Zeit, nen Schritt zurück zu machen und zu überlegen, was das eigentlich Ziel ist, was du erreichen willst. Warum willst du beliebige JAR's laden? Warum nutzt du nicht das Extenderpattern um beim deployen eines Bundles in den OSGi Container darauf zu reagieren.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
23.04.09 13:52 #7
Das ist durchaus richtig. Aber die initiale Aussage war, einen Ordner voll JARs laden zu wollen, was für mich nach einer Art Pluginsystem klingt. Da aber mit OSGi schon eines da ist, glaub ich dass es sinn machen kann, wie man genau das darüber abbildet. Ob das jetzt wirklich so ist, hängt davon ab, was r3zn1k genau vorhat, deswegen meine Frage.
REINHAUN!In theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
-
25.08.09 14:47 #8smo6 Tutorials.de Gastzugang
Wie sieht es denn aktuell in der Thematik aus? Hab nämlich ein ähnliches Problem.
@r3zn1k: Hast du das Problem jetzt gelöst oder wie schauts aus?
Ähnliche Themen
-
Jar's in Applikation dynamisch nachladen
Von DaSuckOOr im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 12.08.09, 11:37 -
Eclipse GMF in eigener Applikation nutzen?
Von Woggly im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 10.06.08, 20:28 -
Bilder dynamisch laden und in MovieClip laden
Von Nambot im Forum Flash PlattformAntworten: 2Letzter Beitrag: 28.02.08, 19:38 -
Wichtig: Standalone Applikation in Eclipse Plugin
Von tinella im Forum JavaAntworten: 2Letzter Beitrag: 16.03.06, 13:59 -
Bildgallerie Dynamisch erzeugen: Welche Applikation?
Von macflac im Forum HTML-EditorenAntworten: 2Letzter Beitrag: 18.11.04, 01:34





Zitieren


Login





