GWT编译器忽略方法的注释

是否可以创建注释(或其他方式)来强制GWT编译器不编译方法? 我有一个类,我也在app-engine(在共享文件夹中)使用,并且其中的一个方法需要仅服务器端function,这导致GWT无法编译。 我希望GWT忽略该方法(而appengine不会)。

我想到了一个注释,或者一个在编译之前擦除方法的预编译脚本。 这两种方法对我都有用,如果我仍然可以通过eclipse IDE进行编译,那将是最好的。

有人想过这个或尝试过吗?

直到现在。 最近添加了这样的注释@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 ,但是它不起作用,编译器仍然希望在共享类中编译我的不兼容方法。

在GWT 2.6之前,没有注释使GWT编译器忽略方法。 在GWT问题跟踪器中有一个请求 ,显然它已安排在2.6版本中。

一种解决方法是将“违规”方法放在自己的类中,并忽略.gwt.xml文件中的该类:

   ...  ... 

希望有点帮助。

干杯,