그것은 아마도 당신을 도울 조금 늦게,하지만 난 경우 누구의 OSGi 프레임 환경 내에서 자바 FX를 가능하게하는 간단한 방법을 문서화하고 싶은, 나처럼, 여전히 문제가 그 일을했다 ....
문제는 JavaFX가 원하는 클래스를로드하고 사용할 수 있어야한다는 것입니다 (JavaFX는 JRE의 내부를 사용하여 번들로 만들기가 어렵습니다). 그래서 실제로 원하는 것은 OSGi에 액세스 권한을 부여하는 것입니다 클래스 패스 추가 ...
저는이 블로그에서 SpringSource의 Costin Leau가 어떻게하는지 설명합니다 (JavaFX뿐만 아니라 시스템 클래스 로더에 대한 완전한 액세스를 가정하는 모든 항아리에 대해). 다른 방법들:
org.osgi :
http://blog.springsource.org/2009/01/19/exposing-the-boot-classpath-in-osgi/
나는 기본적 OSGi 컨테이너의 config 파일에서 OSGi에서 지정된 속성 (! 어떤 구현에 특정되지 않음)를 설정하는 것을 의미 옵션 A를 사용하기로 결정했습니다 .framework.system.packages.extra = javafx.application, 버전 = 0.0.0 ...
당신이 요점에서 속성의 전체 값을 볼 수 있습니다 나는 핸드 크림을했습니다 테드 :
https://gist.github.com/renatoathaydes/5021107
나는 기본적으로 자바 FX 2.2 항아리 내보낼 수있는 모든 패키지와 설정 (그리고 나는 단순히 내 아파치 Karaf의 배포 폴더에 자바 FX 항아리를 놓아이 발견 자동적하는 번들로 만든 다음 생성 된 Manifest를 살펴 본다.)그런데 Karaf (pax-wrap을 사용하여 생성)에서 생성 된 번들을 사용하려고 시도했지만 JavaFX가 클래스를로드하려고 시도하는 방식으로 인해 작동하지 않습니다 (시도 된 JavaFX 번들에서는 보이지 않습니다. JavaFX가 액세스하려고하는 모든 JRE 패키지는 말할 것도 없습니다).
내가 추가 한 패키지가 실제로 필요한 것은 아니지만 안전함을 기하기 위해 Karaf의 래퍼에 의해 생성 된대로 모두 남겨 뒀다. 제대로 작동하지 않는 한 변경하지 않을 것이다.
JFXrt.jar이 JRE lib 폴더에있는 한 모든 번들에서 JavaFX를 사용할 수 있습니다.
하지만 SWT와 일식 춘분을 사용하지는 않습니다. 그러한 OSGi 도우미 라이브러리를 만드는 더 일반적인 방법이 없습니까? – chrise
[e (fx) clipse 포럼] (https://groups.google.com/forum/m/?fromgroups#!forum/efxclipse)에 대한 질문이 있습니다. – jewelsea
OSGi 번들의 JavaFX는 여전히 약간 까다 롭습니다. . e (fx) clipse 플러그인은 춘분과 함께 작동하지만 아파치 펠릭스 (Felix)에서 작동하지 않았기 때문에 javafx 클래스를 osgi 번들이 아닌 boot-classloader에 추가해야했습니다. 추가 FX 버전이 여기에서 향상되기를 바랍니다. – chrise