2016-04-01 2 views
1

Я пытаюсь создать клиентскую сторону Atmosphere с помощью GWT. я добавилНевозможно скомпилировать клиентскую сторону Atmosphere GWT

atmosphere-annotations-2.4.3.jar 
atmosphere-gwt20-client-2.4.2.jar 
atmosphere-gwt-common-2.4.2.jar 
atmosphere-runtime-2.4.3.jar 

к buildpath, вставляется

<inherits name="org.atmosphere.gwt20.AtmosphereGwt20"/> 
<inherits name='com.google.gwt.core.Core'/> 
<inherits name="com.google.web.bindery.autobean.AutoBean"/> 

к projectname.get.xml

я стараюсь, чтобы инициировать вызов к серверу, как

GwtRpcClientSerializer rpc_serializer = GWT.create(GwtRpcClientSerializer.class); 
// or 
// RPCSerializer rpc_serializer = GWT.create(RPCSerializer.class); 

AtmosphereRequestConfig jerseyRpcRequestConfig = AtmosphereRequestConfig.create(rpc_serializer); 
jerseyRpcRequestConfig.setUrl(GWT.getHostPageBaseURL() + "it/more/atmosphere"); 
jerseyRpcRequestConfig.setTransport(AtmosphereRequestConfig.Transport.WEBSOCKET); 
jerseyRpcRequestConfig.setFallbackTransport(AtmosphereRequestConfig.Transport.STREAMING); 

и на GWT компиляция Я получаю

Caused by: java.lang.NoSuchMethodError: com.google.gwt.user.rebind.rpc.SerializableTypeOracleBuilder.<init>(Lcom/google/gwt/core/ext/TreeLogger;Lcom/google/gwt/core/ext/PropertyOracle;Lcom/google/gwt/core/ext/GeneratorContext;)V 
    [java]  at org.atmosphere.gwt20.rebind.SerializerGenerator.generateIncrementally(SerializerGenerator.java:87) 
    [java]  at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:754) 
    [java]  at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:160) 
    [java]  at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:79) 
    [java]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:276) 
    [java]  at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:265) 
    [java]  at com.google.gwt.dev.DistillerRebindPermutationOracle.getAllPossibleRebindAnswers(DistillerRebindPermutationOracle.java:87) 
    [java]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createStaticRebindExpression(UnifyAst.java:485) 
    [java]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.createRebindExpression(UnifyAst.java:443) 
    [java]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.handleMagicMethodCall(UnifyAst.java:576) 
    [java]  at com.google.gwt.dev.jjs.impl.UnifyAst$UnifyVisitor.endVisit(UnifyAst.java:306) 
    [java]  at com.google.gwt.dev.jjs.ast.JMethodCall.traverse(JMethodCall.java:248) 
    [java]  at com.google.gwt.dev.jjs.ast.JModVisitor.traverse(JModVisitor.java:381) 
    [java]  at com.google.gwt.dev.jjs.ast.JModVisitor.accept(JModVisitor.java:293) 
    [java]  ... 40 more 
    [java]  [ERROR] at FilePresenter.java(137): GWT.create(RPCSerializer.class) 
    [java]   com.google.gwt.dev.jjs.ast.JMethodCall 
    [java]  [ERROR] at FilePresenter.java(137): (RPCSerializer) GWT.create(RPCSerializer.class) 
    [java]   com.google.gwt.dev.jjs.ast.JCastOperation 
    [java]  [ERROR] at FilePresenter.java(137): RPCSerializer rpc_serializer = (RPCSerializer) GWT.create(RPCSerializer.class) 
    [java]   com.google.gwt.dev.jjs.ast.JDeclarationStatement 
    [java]  [ERROR] at FilePresenter.java(122): { 

или

[java]  [ERROR] Line 137: Failed to resolve 'org.atmosphere.gwt20.client.GwtRpcClientSerializer' via deferred binding 
[java] [WARN] For the following type(s), generated source was never committed (did you forget to call commit()?) 

Я последовал пример кода для GWT. Что мне не хватает?

ответ

1

Кажется, что проект имеет проблемы с GWT 2.7. Где-то я нашел совет скомпилировать его с клиентом банка версия 2.3.2-get27 и он работал с банками

atmosphere-annotations-2.4.3.jar 
atmosphere-gwt20-client-2.3.2-gwt27.jar 
atmosphere-gwt20-common-2.3.2-gwt27.jar 
atmosphere-runtime-2.4.3.jar 

и только

<inherits name="org.atmosphere.gwt20.AtmosphereGwt20"/> 

внутри projectname.gwt.xml

В настоящее время я м перед проблемой с

Atmosphere atmosphere = Atmosphere.create(); 

который остается null, но это ано Чтобы посмотреть (я полагаю).

+1

Если вы счастливы использовать более ранние версии, я видел, что клиент gwt атмосферы отлично работает с версией до 2.4.0. Даже я видел одно и то же исключение с последней версией 2.4.2/2.4.3, которое обновит вас, если я найду какое-либо решение/работу вокруг него – Ajax

Смежные вопросы