GWT 返回从外部 jar 实现接口的自定义对象

Posted

技术标签:

【中文标题】GWT 返回从外部 jar 实现接口的自定义对象【英文标题】:GWT returning custom objects that implement interfaces from external jars 【发布时间】:2013-02-27 17:34:14 【问题描述】:

我正在尝试实现一个应用程序,该应用程序将从服务器读取一些路径并将其显示为 web 中的树。对于客户端,我使用的是使用 TreeStore 的 Sencha GXT Tree。

我看到这个问题与我所拥有的代码非常接近: GWT Simple RPC use case problem : Code included 我这边的不同之处在于我的 TestObject 类也实现了 TreeStore.TreeNode 和 Serializable。这个 TreeStore.TreeNode 位于我添加到 buildpath 和 classpath 的 gxt-3.0.1.jar 中。

import java.util.List;
import java.io.Serializable;
import com.sencha.gxt.data.shared.TreeStore;
import com.sencha.gxt.data.shared.TreeStore.TreeNode;

@SuppressWarnings("serial")
public class TestObject implements TreeStore.TreeNode<TestCase>, Serializable 
  public TestObject() 
    
  
[...]

我正在尝试从服务器端返回一个 TreeStore 对象,其中包含有关给定路径上目录内容的数据。但是异步调用的执行失败了java.lang.NoClassDefFoundError: com/sencha/gxt/data/shared/TreeStore$TreeNode

如果它来自 gxt jar,我应该怎么做才能让服务器端看到这个实际上更特定于客户端的对象?

【问题讨论】:

【参考方案1】:

确保 gxt jar 位于服务器类路径中 - 它应该位于 WEB-INF/lib/ 中,以便服务器找到它。仅仅将它放在项目类路径中并不足以确保 war 应用程序可以找到它。

【讨论】:

以上是关于GWT 返回从外部 jar 实现接口的自定义对象的主要内容,如果未能解决你的问题,请参考以下文章

dubbo源码之——基于SPI的自定义扩展实现

Apex 中的自定义迭代器

Google Web Toolkit (GWT) EventBus 事件触发/处理

Postman 使用外部 Json 格式文件批量调用接口

从 s3 将外部 jars 加载到 Zeppelin

(iOS 6) 从 UIActivityViewController 外部使用 UIActivity 的自定义子类