【发布时间】:2016-03-30 22:54:44
【问题描述】:
当使用 gwt-maven-plugin 的 generateAsync 时,是否可以对单个 gwt-rpc 服务应用注解(或其他东西),以便相应的异步不会自动生成并且可以手动编写?
或者,是否有注释(或其他东西)使生成的异步具有“请求”返回类型?
【问题讨论】:
标签: gwt gwt-rpc gwt-maven-plugin
当使用 gwt-maven-plugin 的 generateAsync 时,是否可以对单个 gwt-rpc 服务应用注解(或其他东西),以便相应的异步不会自动生成并且可以手动编写?
或者,是否有注释(或其他东西)使生成的异步具有“请求”返回类型?
【问题讨论】:
标签: gwt gwt-rpc gwt-maven-plugin
从 gwt-maven-plugin 的文档中,您需要调整 servicePattern 配置属性,或者您可以要求它始终生成返回 Request 的方法。
或者,更好的是,不要使用这个目标!
(或者只偶尔手动调用一次并将生成的类复制到您的源)
【讨论】:
如果已经存在同名的类,GWT 生成器将永远不会创建该类。这意味着您可以要求 GWT 编译和生成代码,然后将类复制到您的源中并自定义它们,以后编译器运行将不会尝试生成源。
这可能有其他副作用 - 如果代理、类型序列化器或字段序列化器被阻止生成,那么 RPC 生成器可能会假设其他依赖项也都已正确生成,所以如果你不这样做,你可能会发现自己缺少类'不要也复制那些其他类。同样,当然,任何需要修改或重建序列化程序的更改都必须手动完成,例如更改可序列化类型或修改 RPC 方法。
您的异步接口始终可以声明返回类型为 Request 或 RequestBuilder 而不是 void。如果声明RequestBuilder,则请求不会自动发送,必须调用send(),而返回Request则表示请求已发送。
【讨论】:
target/.generated/... 中,尽管您可能需要打开一个标志以强制它们显示在磁盘上(有两个 gwt-maven-plugins,我看不出您使用的是哪个)。