2012-01-13 7 views
3

GWTのドキュメントでは、クライアントサイドのJavaScriptへのコンパイルのソースコードはすべて、gwt.xmlファイルのサブパッケージに含まれている必要があります。誰かが第三者のライブラリを参照する場合、これはどのように機能しますか?私は図書館foo.jarを持っていると私は(Serializableある)いくつかのPOJOを使用したいと任意の非Serializableコードを吸引していない場合GWTでのクライアント使用のための第三者のライブラリソースコードの参照方法を教えてください。

具体的に、どのように私はこれらのPOJOを使用することができますか?どのようにGWTにソースコードがどこにあるのかを教えてください。

+0

私は解決策を見つけました。祝福されているかどうかはわかりませんが、私のブログには全面的な記事を載せています。http://www.gordonizer.com/2012/01/referencing-third -party-library-source.html – icfantv

答えて

5

GWTコンパイラでは、実際のJavaソースがjavascriptにコンパイルする必要があるので、クラスが使用可能で、すべてがシリアライズ可能であることを忘れないでください。 RPCがワイヤを介してクラスを送信するためには、クライアントに到達するときにJSとして使用できる必要があります。

これはモジュールjavax/validation/Validation.gwt.xmlでgwt-userを見ています。このファイルは、javax.validationの他のパッケージ(他のjarファイルも含む)をクライアント側の検証のためにJSにコンパイルできるように配置されています。コードがcom.thirdparty.pojosであるクラスパス上にjar(およびsources)がある場合は、自分のソース内の同じディレクトリ内のモジュールファイルを作成することができます(com/thirdparty/pojos/ThirdParthRpc.gwt.xmlのようなもの)。<source path="" />要素を入れて

+0

権利。私は以下の全文を書きます。本当に奇妙なClassCastExceptionで失敗しましたが、ライトが除外され、十分に確実であるというあなたのコメントを見ました。私はシリアル化したくない他のクラスを持っていました(そして、 GWTの場合)。だから、ありがとう! – icfantv

0

fooをfoo.jarにパッケージングする権限を持っていて、あなたはすべてのパッケージを持っていれば、すべてのパッケージはJSへの翻訳に合法です。

パッケージ化されたfoo.jarがあり、ソースコードを持っている場合は、foo.jarを展開し、ソースを展開された.jarディレクトリにコピーし、単純なGWT module.xmlファイルを作成し、あなたのprにタグを追加するオブジェクトのモジュール。

関連する問題