Hallo,
da mein PlugIn recht viel allgemeine Software benutzt (Jakarta-Commons), wäre es nett, wenn es ein lib-Verzeichnis gäbe, das solche jars aufnehemen kann. Selbiges könnte der TV-Brovser auch nutzen, dann wäre das jar auch kleiner.
Diese 3rd-Party Software kann der TV-Browser per Classpath (den ich auch nicht "von außen" beeinflussen kann) für die PlugIns zur Verfügung stellen. Ich könnte damit mein PlugIn von ca. 1,7 MB auf 350 KB verkleinern, wenn ich Jakarta-libs extra deployen würde. Und die Entwicklung wäre auch einfacher...
Gruß, Lutz
Für die PlugIn-Entwicklung: lib-dir für 3rd-party Software
Das bringt aber sau sau viele Probs mit. Mehr als alle Vorteile die man durch eine kleinere Jar-Größe hat.
1. Welche Version der jakarta-commons? Bei jeder TVB-Installation würde man natürlich die neueste Version gerne haben, aber dann laufen einige Plugins nicht unter den alten Versionen
2. Plugins müßten beim installiern übers Netz auch die Bibliotheken, die nicht im TVB enthalten sind, irgendwie mitliefern
3. Was ist wenn 2 verschiedene Plugins 2 verschieden Versionen der Bibliothek brauchen?
Wir werden die größe der Jars erhöhen und du hast dein Problem erstmal gelöst. Das ist besser. Find ich jedenfalls.
1. Welche Version der jakarta-commons? Bei jeder TVB-Installation würde man natürlich die neueste Version gerne haben, aber dann laufen einige Plugins nicht unter den alten Versionen
2. Plugins müßten beim installiern übers Netz auch die Bibliotheken, die nicht im TVB enthalten sind, irgendwie mitliefern
3. Was ist wenn 2 verschiedene Plugins 2 verschieden Versionen der Bibliothek brauchen?
Wir werden die größe der Jars erhöhen und du hast dein Problem erstmal gelöst. Das ist besser. Find ich jedenfalls.
Zugegeben, das ist alles richtig... aber:
Wenn libs mit TVB ausgeliefert werden, haben die Plugins schon eine definierte Basis. Plugins müssen dann auch auf neue Versionen von TVB (inkl. neuer Libs) portiert werden, so wie das wohl heute auch geschehen muss (z.B ist mein PlugIn nicht ohne Probs auf der 2.1 beta3 lauffähig).
Und das Problem mit den doppelten Versionen müsste heute schon da sein, den TVB benutzt ja auch 3rd Party Libs. Wenn ein Plugin andere Versionen davon mitbringt, knirscht es doch auch, oder?
Gruß, Lutz.
Wenn libs mit TVB ausgeliefert werden, haben die Plugins schon eine definierte Basis. Plugins müssen dann auch auf neue Versionen von TVB (inkl. neuer Libs) portiert werden, so wie das wohl heute auch geschehen muss (z.B ist mein PlugIn nicht ohne Probs auf der 2.1 beta3 lauffähig).
Und das Problem mit den doppelten Versionen müsste heute schon da sein, den TVB benutzt ja auch 3rd Party Libs. Wenn ein Plugin andere Versionen davon mitbringt, knirscht es doch auch, oder?
Gruß, Lutz.
Zu TVB 2.1: Ich mache in meiner Konfiguration eine Senderzuordnung und zeige die Liste der TVB-Sender in einer Listbox an. Im 2.01er sehe ich alle TVB-Sender, im 2.1er nicht mehr... da muss ich mal nachforschen.
Zum ClassLoading: wenn ich das richtig verstanden habe, dann werden ClassLoader als Kette realisiert, so dass in der Reihenfolge von oben (DefaultClassLoader) nach unten (spezieller ClassLoader, so wie im TVB-PluginLoading). Wenn ich jetzt eine Klasse brauche (z.B. den Logger von Log4J) dann wird doch erst im allgemeinen ClassLoader gesucht (also, das was TVB mitbringt) und dann im Plugin-ClassLoader. Also "gewinnt" die Logger-Klasse aus TVB und nicht meine eigene...
Oder habe ich da was falsch verstanden...?
Zum ClassLoading: wenn ich das richtig verstanden habe, dann werden ClassLoader als Kette realisiert, so dass in der Reihenfolge von oben (DefaultClassLoader) nach unten (spezieller ClassLoader, so wie im TVB-PluginLoading). Wenn ich jetzt eine Klasse brauche (z.B. den Logger von Log4J) dann wird doch erst im allgemeinen ClassLoader gesucht (also, das was TVB mitbringt) und dann im Plugin-ClassLoader. Also "gewinnt" die Logger-Klasse aus TVB und nicht meine eigene...
Oder habe ich da was falsch verstanden...?
Das ist schlecht. Aber dann leider nicht zu ändern. Ich bin jedenfalls gegen dieses Lib-Directory. Die Probleme sind einfach zu groß. Zumal das dann dafür sorgt, das der TVBrowser nicht mehr ordentlich Web-Startable machbar ist. Das einzige was uns momentan nämlich nur fehlt ist das Icon-Laden. Wenn jetzt noch das Lib-Zeugs dazukommt, wirds wieder kompliziert. ICH WILL DAS NICH .