Für die PlugIn-Entwicklung: lib-dir für 3rd-party Software

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist eingeschaltet
[img] ist eingeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Für die PlugIn-Entwicklung: lib-dir für 3rd-party Software

von Gast » 13 Nov 2005, 11:51

bodo hat geschrieben:... ICH WILL DAS NICH ;).
...ist ja gut... war ja nur 'ne Idee... Dann muss mein Plugin eben groß bleiben...

Gruß, Lutz.

von bodo » 13 Nov 2005, 02:07

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 ;).

von Gast » 12 Nov 2005, 18:13

Ich bin da mal (bei Bauarbeiten an meinem PlugIn) druchgesteppt und es werden erst die Vater-ClassLoader bemüht...

von bodo » 12 Nov 2005, 16:09

Ich hab das so verstanden, das der URLClassloader gewinnt.

von Gast » 12 Nov 2005, 16:04

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...?

von bodo » 12 Nov 2005, 15:12

Also 2.0er Plugins laufen auch mit 2.1. Jedenfalls wüßte ich nicht, wieso das nicht der Fall sein sollte.

Und die Libs: Dein Plugin ist in einem eigene Classloader. Da kommt sich nix in die Quere.

von Gast » 12 Nov 2005, 15:10

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.

von bodo » 12 Nov 2005, 09:56

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.

Für die PlugIn-Entwicklung: lib-dir für 3rd-party Software

von Gast » 12 Nov 2005, 09:53

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

Nach oben