Während der Entwicklung zu ändern, die wir benötigen, um Inhalte von bestimmten Datei in Bündel ändern und geänderte Dateiinhalt in Anwendung sehen können, ohne neu zu kompilieren/Neubündelung/Bündel erneut zu installieren. Die Datei wird von Bundle.getEntry()
jedes Mal gelesen, wenn die Anwendung ihren Inhalt benötigt.Wie Bündel Ressourcen on-the-fly in bndtools/felix Umwelt
Mit Eclipse PDE und Equinox ist es quit einfach, weil OSGi-Framework aus Eclipse-Umgebung Projektordner als entpackte Bundles behandelt. Änderungen an Dateien im Projektordner werden jedes Mal reflektiert, wenn die Anwendung Ressourceninhalt liest.
Wenn ich es richtig verstehe, bndtools repackages immer Bündel, wenn eine Veränderung in Ressource erkannt wird. Aber für ein Projekt mit Hunderten von Ressourcendateien benötigt es zu viel Zeit. Ist es möglich, ein ähnliches Verhalten wie in Eclipse PDE zu erreichen? Am liebsten in Apache Felix? Wir benötigen diese Funktionalität nur während der Entwicklung/des Debugging und nur dann, wenn die Anwendung von der IDE aus gestartet wird. Ressourcen werden in der Produktion niemals verändert.
konkret zu sein - in unserer Anwendung gibt es viele LESS-Dateien, die auf mehrere CSS kompiliert werden. CSS wird sofort generiert, nachdem eine der LESS-Dateien geändert wurde. Dies wird durch gulp und node.js erreicht. Wir müssen geänderte CSS-Dateien (fast) sofort sehen, wenn die Seite neu geladen wird. Beachten Sie, dass wir keinen OSGi HTTP-Dienst verwenden.
Angenommen, dass wir unsere Pakete neu anordnen, um weniger Zeit für das Packen zu benötigen. Immer noch - gibt es eine Option für "bundle hot replace" - d. H. Laufende Anwendung greift auf geänderte Dateien zu, ohne das Bundle neu zu installieren? – st33v3
Wenn Sie in Bndtools starten, dann ist dies der Standard. Bundles werden bei jeder Änderung aktualisiert. –