Wir untersuchen derzeit die Verwendung von OneJar in unserer Anwendung (aus mehreren Gründen), aber unsere Anwendung verwendet eine Reihe von benutzerdefinierten URLClassloader
s, um Anwendungserweiterungen zu laden.OneJar und dynamische Klassen laden
Wenn als ein "OneJar" Glas gebündelt, erhalten wir ClassNotFound
Ausnahmen. Die fraglichen Klassen befinden sich in dem gebündelten Jar und wir verlassen uns einfach auf den Klassenlademechanismus, um die Eltern/Kind-Beziehung aufzulösen.
Das ist. Wir haben eine gemeinsame interface
, die in der gebündelten Jar (die im Classloader-Kontext der Eltern sein soll) gespeichert ist. Die Erweiterung implementiert diese interface
(ermöglicht es uns, in die Erweiterung aufzurufen) und beruht auf der Fähigkeit des untergeordneten Klassenladeprogramms, die Ressourcenfindungsfunktionen des übergeordneten Klassenladeprogramms zu verwenden.
Hat irgendjemand irgendwelche Erfahrungen damit gemacht oder irgendein Licht darauf geworfen, wie wir es lösen könnten.
Ich würde in anderen ähnlichen Mechanismen interessiert sein (für unsere Bibliothek Jar in einer einzigen Jar Ressource zu bündeln, die nicht Gebrauch erfordert alles und Jar in einer einzigen Datei unjar)
Sie wissen, das Hinzufügen, wenn Sie den Mut der Menschen, die nach unten Abstimmung ohne mit zumindest den Anstand zu lieben haben einen Kommentar zu lassen, warum sie hielt es für notwendig, dies zu tun. Es hilft niemandem. Ohne irgendeine Erklärung ist es schwierig zu wissen, wie man die Frage/Antwort in Zukunft verbessern kann. – MadProgrammer