首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法编译Atmosphere客户端

无法编译Atmosphere客户端
EN

Stack Overflow用户
提问于 2016-04-01 18:30:36
回答 1查看 324关注 0票数 1

我正在尝试使用GWT创建Atmosphere客户端。我添加了

代码语言:javascript
复制
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,插入

代码语言:javascript
复制
<inherits name="org.atmosphere.gwt20.AtmosphereGwt20"/>
<inherits name='com.google.gwt.core.Core'/>
<inherits name="com.google.web.bindery.autobean.AutoBean"/>

到projectname.get.xml

我尝试向服务器发起呼叫,如下所示

代码语言:javascript
复制
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编译中,我得到了

代码语言:javascript
复制
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): {

代码语言:javascript
复制
[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的示例代码。我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-04-01 23:29:27

该项目似乎在GWT2.7中出现了问题。在某个地方,我找到了使用客户端jar版本2.3.2-get27编译它的建议,并且它可以使用jar

代码语言:javascript
复制
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

而且只有

代码语言:javascript
复制
<inherits name="org.atmosphere.gwt20.AtmosphereGwt20"/>

projectname.gwt.xml内幕

目前我面临的问题是

代码语言:javascript
复制
Atmosphere atmosphere = Atmosphere.create();

它仍然是null,但这是另一件需要考虑的事情(我想)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36354043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档