Maven + BND로 만든 번들 세트가 있습니다. 번들 중 하나는 내 Vaadin "응용 프로그램"을 포함하고, 다른 응용 프로그램은 일부 유틸리티와 추가 편집자를 포함합니다.Vaadin 리소스가 OSGI에로드되지 않았습니다
Tomat 서버에서이 앱을 실행할 수 있습니다. 모든 것이 정상입니다. 그런 다음 OSGI (Apache Felix)에서 실행 해 보았습니다. 많은 문제가 해결 된 후 OSGI 런타임을 실행하고 모든 번들을로드하고 올바르게 활성화했습니다. "localhost : 8080/bat"로 첫 번째 페이지에 액세스 할 수도 있습니다. "404 not found"가 더 이상 표시되지 않습니다.
문제는 다음과 같습니다. 시작 페이지는 내 응용 프로그램에서 서식이 지정되지 않은 텍스트을 개만 표시합니다.
앱이 Vaadin 리소스 (CSS, widgetset 등)를로드 할 수 없습니다. 디버그 프레임은 말한다 : angel이라는 자원을로드 할 수없는 것처럼
Starting Vaadin client side engine. Widgetset: com.vaadin.terminal.gwt.DefaultWidgetSet
Widget set is built on version: 6.6.6
Warning: widgetset version 6.6.6 does not seem to match theme version
Starting application bat-97301
Vaadin application servlet version: 6.6.6
Application version: 0.0.1
inserting load indicator
Making UIDL Request with params: init
Server visit took 9ms
...
Assuming CSS loading is not complete, postponing render phase. (.v-loading-indicator height == 0)
Assuming CSS loading is not complete, postponing render phase. (.v-loading-indicator height == 0)
....
CSS files may have not loaded properly.
보인다. 질문 : OSGI 번들로 포장 된 Vaadin 응용 프로그램에 적합한 구조는 무엇입니까?
여기 (메이븐 + BND로 만든) 내 OSGI 번들 구조입니다 : 나는 최근에이 연습을했다
├───com
│ └───my
│ ├───demomodules
│ ├───preferences
│ ├───widgetset
│ └───workspaces
├───META-INF
├───VAADIN
│ ├───icons
│ ├───themes
│ │ ├───mytheme
│ │ └───reindeer
│ │ ├───a-sprite-definitions
│ └───widgetsets
│ ├───com.my.widgetset.Vaadin1Widgetset
│ │ └───ie6pngfix
│ └───WEB-INF
│ └───deploy
│ └───com.my.widgetset.Vaadin1Widgetset
│ ├───rpcPolicyManifest
│ └───symbolMaps
└───WEB-INF
내가 발견 [해킹 스타일] 임시 방편은 다음과 같습니다 ** : 같은 angel이라는 자원 번들을 선언 '조각 - 호스트 : com.vaadin, 번들 버전 = "6.6.6"'** 그러나 그것은 분명히 좋은 해결책이 아닙니다. – Alex