如果在客户端代码中使用来自服务器包的注释,GWT 会编译吗?
Will GWT compile if an annotation from server package is used in client code?
如果在服务器包下创建的自定义注释被共享 Class 引用,GWT 会编译我的 class 吗?
我需要用带有某些属性的注释 @MyRecord
来注释我的记录类型 classes。这样我就可以使用反射在服务器端获取属性值。由于记录类型 class 在客户端和服务器代码中共享并使用。
注意:@MyRecord
在服务器下,GWT编译器无法编译。
它会不会有任何问题或任何替代方法?请帮忙
我在自己尝试后发布。
我的 GWT 项目中有以下 classes/interfaces 和注释。
agazhi
client
Agazhi.java
AgazhiService.java
AgazhiServiceAsync.java
server
AgazhiServiceImpl.java
Soldier.java
Staff.java
shared
Commander.java
Agazhi.gwt.xml
其中 Commander
是我的记录类型,@Soldier
是注释,Staff
是接口。
Commander
class 的对象通过服务从客户端传递到服务器。
测试用例:
- 如果我在 Commander 中使用
@Soldier
注释编译模块 class
它有效。
- 如果我用
Staff
接口编译
Commander
class,报错
No source code is available for type agazhi.server.Staff; did you forget to inherit a required module?
感谢大家的宝贵时间。
如果您想使用在 Commander class 上实现的 Staff 接口进行编译,您可能需要将 Staff.java 移动到共享包中,以便 GWT 编译器可以将其翻译成 JavaScript .此外,Staff.java 不应依赖于其他无法翻译为 GWT 编译器的 classes。
更多信息请参考模块XML文档:http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuideModuleXml
如果在服务器包下创建的自定义注释被共享 Class 引用,GWT 会编译我的 class 吗?
我需要用带有某些属性的注释 @MyRecord
来注释我的记录类型 classes。这样我就可以使用反射在服务器端获取属性值。由于记录类型 class 在客户端和服务器代码中共享并使用。
注意:@MyRecord
在服务器下,GWT编译器无法编译。
它会不会有任何问题或任何替代方法?请帮忙
我在自己尝试后发布。
我的 GWT 项目中有以下 classes/interfaces 和注释。
agazhi
client
Agazhi.java
AgazhiService.java
AgazhiServiceAsync.java
server
AgazhiServiceImpl.java
Soldier.java
Staff.java
shared
Commander.java
Agazhi.gwt.xml
其中 Commander
是我的记录类型,@Soldier
是注释,Staff
是接口。
Commander
class 的对象通过服务从客户端传递到服务器。
测试用例:
- 如果我在 Commander 中使用
@Soldier
注释编译模块 class 它有效。 - 如果我用
Staff
接口编译Commander
class,报错
No source code is available for type agazhi.server.Staff; did you forget to inherit a required module?
感谢大家的宝贵时间。
如果您想使用在 Commander class 上实现的 Staff 接口进行编译,您可能需要将 Staff.java 移动到共享包中,以便 GWT 编译器可以将其翻译成 JavaScript .此外,Staff.java 不应依赖于其他无法翻译为 GWT 编译器的 classes。
更多信息请参考模块XML文档:http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuideModuleXml