【问题标题】:Unable to compile Atmosphere GWT client side无法编译 Atmosphere GWT 客户端
【发布时间】:2016-04-01 23:29:26
【问题描述】:

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

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

到构建路径,插入

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

到项目名称.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 编译时我得到 ​​p>

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 的示例代码。我错过了什么?

【问题讨论】:

    标签: java gwt atmosphere


    【解决方案1】:

    该项目的 GWT 2.7 似乎存在问题。在某处我找到了使用客户端 jar 版本 2.3.2-get27 编译它的建议,并且它可以与 jar 一起使用

    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"/>
    

    在项目名称.gwt.xml 中

    目前我遇到了问题

    Atmosphere atmosphere = Atmosphere.create();
    

    仍然是null,但这是另一回事(我想)。

    【讨论】:

    • 如果您乐于使用早期版本,我已经看到氛围 gwt 客户端在 2.4.0 之前的版本上运行良好。即使我看到最新版本 2.4.2/2.4.3 的相同异常,如果我找到任何解决方案/解决方法,也会更新您
    猜你喜欢
    • 2017-06-05
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多