2012-11-01 8 views
10

GWTコンパイラがメソッドをコンパイルしないようにするアノテーション(または他の方法)を作成することはできますか?私は(共有フォルダ内の)app-engineでも使用するクラスを持っています。その中の1つのメソッドは、GWTをコンパイルしないようにするサーバー側の関数のみを必要とします。私はGWTにメソッドを無視させたいと思います(appengineはそうではありませんが)。GWTコンパイラがメソッドを無視するための注釈

私は、注釈、またはコンパイル前にメソッドを消去するプリコンパイルスクリプトのいずれかを見つけました。両方の方法は私のために働くだろう、私はまだEclipse IDEを介してコンパイルすることができれば最高だろう。

誰かがこれについて考えてみましたか?

答えて

12

今までにありません。ごく最近、そのような注釈が@com.google.gwt.core.shared.GwtIncompatible("Description why...")に追加されました。クラスまたはメソッドに適用されます。

しかし、パッチコードはまだリリースされていませんでした。公式ステータスはFixedNotReleasedです。そして、私は個人的に確認することができます、現在のGWT 2.5.1のバージョンではありません。私は今後の2.5.2に期待しています。

参照:

http://code.google.com/p/google-web-toolkit/source/browse/trunk/user/src/com/google/gwt/core/shared/GwtIncompatible.java?spec=svn11570&r=11570

http://code.google.com/p/google-web-toolkit/issues/detail?id=3769

https://gwt-review.googlesource.com/#/c/2320/

注意、コンパイラは、まだ私のをコンパイルしたい、しかし それは動作しません、gwt-dev.jarですでに同様の注釈com.google.gwt.thirdparty.guava.common.annotations.GwtIncompatibleあり共有クラスのメソッドが互換性がありません。

+1

これは正式にGWT 2.6に入っています。https://docs.google.com/document/d/1ZdMwcTjc4rkWg6nntCY1BDB1xI2PHPwaCnTYw-9uAKE/edit –

+0

@GwtIncompatibleはGWT 2.8.x(安定版、多分以前のバージョン)の一部です。 – xamde

7

GWTバージョン2.6より前では、GWTコンパイラがメソッドを無視するようなアノテーションはありません。 GWTの問題追跡ツールにはrequestsがあり、明らかに2.6リリース予定です。ビットを助け

<source path="gwtclient"> 
    <exclude name="AppEngineOnlyClass.java" /> 
    ... 
</source> 
... 

希望:

回避策の一つのアプローチは、独自のクラスで「問題」の方法を持っているし、あなたの.gwt.xmlファイルにそのクラスを無視することです。

乾杯、

+2

'AppEngineOnlyClass'は' AppEngineAndGwtClass'を拡張して、GWTとGAEの両方に有効なすべてを継承できることに注意してください。 –

+0

優秀な点ボリス。 –

関連する問題