Maven + BNDで作成したバンドルのセットがあります。バンドルの1つに私のVaadin "Application"が含まれ、他のバンドルにはいくつかのユーティリティと追加のエディタがあります。VaadinのリソースはOSGIにロードされていません
私はTomatサーバー上でこのアプリケーションを実行できます。すべては問題ありません。その後、私はOSGI(Apache Felix)で実行しようとしました。多くの解決された問題の後、私は最終的にOSGIランタイムを実行し、すべてのバンドルをロードして正しく起動させました。 "localhost:8080/bat"で最初のページにアクセスすることもできます。 "404 not found"は表示されません。
問題は次のとおりです。スタートページには、のフォーマットされていないテキストのみが表示されます。
アプリはVaadinのリソース(CSS、多分widgetsetなど)を読み込めません。 デバッグフレームは言う:Vaadinのリソースをロードすることができないよう
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アプリケーションの構造は何ですか?
はこちら(Mavenの+ BNDで作成した)私のOSGiバンドル構造です: (私は重要ではないとして、いくつかのVaadinトナカイのテーマフォルダをスキップ)
├───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
私が見つけた[ハックスタイル]一時的な解決策がある: **:としてVaadinのリソースを使用してバンドルを宣言 'フラグメント-ホスト:com.vaadin;バンドルバージョン= "6.6.6"' ** それは明らかに良い解決策ではありません。 – Alex