升级到GWT 2.5.0-RC1和Restlet中断的代理生成 - 我的项目中有最新版本的2.1-RC6。这是堆栈跟踪:
java.lang.NoSuchMethodException: com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.<init>(com.google.gwt.core.ext.TreeLogger, com.google.gwt.core.ext.PropertyOracle, com.google.gwt.core.ext.typeinfo.TypeOracle)
at java.lang.Class.getConstructor0(Class.java:2706)
at java.lang.Class.getDeclaredConstructor(Class.java:1985)
at org.restlet.rebind.ClientProxyGenerator.getSerializableTypeOracleBuilder2_2(ClientProxyGenerator.java:767)
at org.restlet.rebind.ClientProxyGenerator.generateSerializers(ClientProxyGenerator.java:569)
at org.restlet.rebind.ClientProxyGenerator.generateProxy(ClientProxyGenerator.java:500)
at org.restlet.rebind.ClientProxyGenerator.generate(ClientProxyGenerator.java:242)
此处抛出实际异常:
private SerializableTypeOracleBuilder getSerializableTypeOracleBuilder2_2()
throws Exception {
SerializableTypeOracleBuilder result = null;
Constructor<SerializableTypeOracleBuilder> c = null;
c = SerializableTypeOracleBuilder.class.getDeclaredConstructor(
TreeLogger.class, PropertyOracle.class, TypeOracle.class);
result = c.newInstance(getLogger(), getContext().getPropertyOracle(),
getTypeOracle());
return result;
}
以下调用似乎有问题,但我不明白为什么:
c = SerializableTypeOracleBuilder.class.getDeclaredConstructor( TreeLogger.class,PropertyOracle.class,TypeOracle.class);
有人让Restlet GWT使用最新的GWT 2.5.0-rc1 ??
更新:问题已解除#647
答案 0 :(得分:2)
我刚检查了POM以获取以下GWT版本的Restlet:
并且它们都依赖于GWT的2.2版本。
答案 1 :(得分:0)
使用内部类时出现问题:SerializableTypeOracleBuilder
的构造函数不再需要TypeOracle
个参数,而是GeneratorContext
。
http://code.google.com/p/google-web-toolkit/source/browse/releases/2.5/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java#782
虽然GWT 2.4已经是这种情况(实验GeneratorContextExt
代替):http://code.google.com/p/google-web-toolkit/source/browse/releases/2.4/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java#747
甚至GWT 2.3:http://code.google.com/p/google-web-toolkit/source/browse/releases/2.3/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java#763
换句话说,Restlet仍然依赖于18个月的版本,即GWT 2.2:http://code.google.com/p/google-web-toolkit/source/browse/releases/2.2/user/src/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilder.java#757
答案 2 :(得分:0)
感谢您报告此问题。 2.1和主分支已更新。