To trochę późno, aby ci pomóc, prawdopodobnie, ale chciałbym, aby udokumentować prosty sposób, aby umożliwić JavaFX wewnątrz środowisku OSGi w przypadku innych, jak ja, wciąż miał problemy robi to ....
Chodzi o to, że musisz umożliwić JavaFX załadowanie i użycie dowolnej klasy, jakiej chce (JavaFX korzysta z wewnętrznych elementów JRE, co sprawia, że naprawdę trudno jest je połączyć), więc to, czego naprawdę chcesz, to dać mu dostęp do OSGi boostraping classpath ...
Nie jestem ekspertem, ale na tym blogu Costin Leau ze SpringSource wyjaśnia, jak to zrobić (dla wszystkich słoików, które zakładają pełny dostęp do systemu klasyloader, nie tylko JavaFX) w 3 różne sposoby:
http://blog.springsource.org/2009/01/19/exposing-the-boot-classpath-in-osgi/
wybrałem użyć opcji A, która w zasadzie oznacza ustawienie OSGi-określonej nieruchomości (nie specyficzne dla każdej realizacji!) W pliku konfiguracyjnym Twojego kontenera OSGi:
org.osgi .framework.system.packages.extra = javafx.application; version = 0.0.0 ...
można zobaczyć całą wartość nieruchomości, w tym Gist mam Crea ted:
https://gist.github.com/renatoathaydes/5021107
I w zasadzie ustawić je wszystkie pakiety, które można wyeksportować JavaFX 2.2 słoik (a ja się o tym po prostu spada słoik JavaFX do folderu deploy mojego Apache Karaf, który automagicznie tworzy pakiet, a następnie przegląda wygenerowany Manifest) ...przy okazji, próbowałem użyć pakietu wygenerowanego przez Karaf (który używa pax-wrap), ale to nie zadziała ze względu na sposób, w jaki JavaFX próbuje załadować twoje klasy (które nie są widoczne w próbowanym pakiecie JavaFX, nie wspominając o wszystkich pakietach JRE JavaFX próbuje uzyskać dostęp).
Podejrzewam, że nie wszystkie z dodanych pakietów są rzeczywiście wymagane, ale żeby być bezpiecznym, zostawiłem je wszystkie jako wygenerowane przez opakowanie Karaf i jak to działa, nie zmienię tego, chyba że jest ku temu dobry powód.
Teraz każdy z moich pakietów może korzystać z JavaFX, o ile plik jfxrt.jar jest obecny w folderze JRE lib.
Ale ja nie używam SWT i eclipse równonocy. Czy nie istnieje bardziej ogólny sposób tworzenia takich bibliotek pomocniczych OSGi? – chrise
Radzę zadawać pytania na forum [e (fx) clipse] (https://groups.google.com/forum/m/?fromgroups#!forum/efxclipse) – jewelsea
JavaFX w pakiecie OSGi jest wciąż trochę skomplikowana . Wtyczka e (fx) clipse pracuje z equinoxem, ale nie udało mi się go uruchomić z apache Felix, więc musiałem dodać klasy javafx do boot-classloader, a nie do pakietu osgi. Mam nadzieję, że kolejne wersje FX poprawią się tutaj. – chrise