我想在我的GWT应用程序中使用Solrj库。我制作了一个GWT服务器类来与Solrj客户端通信。我的客户端代码从服务器类获取Collection<FacetField>
并构建UI。
我的问题是GWT抱怨缺少源代码:
No source code is available for type org.apache.solr.client.solrj.response.FacetField; did you forget to inherit a required module?
我可以为Solrj创建一个附加模块,然后GWT将其编译为JS。但是它将编译很多其他类,我可能永远不会在客户端上使用。
另一种方法是编写一些Solr类的包装并将它们传递给客户端。但是我不确定,因为这些包装器将导入Solr类,并且我可能再次遇到相同的问题。
解决此问题的最佳方法是什么?
最佳答案
写一些DataLorry
(虚拟对象)
server|| FacetField obj==>DataLorry obj==> client.
将所需的数据刷新到
DataLorry
对象中。这甚至可以节省客户端和服务器之间的大量数据流量,因为您仅在网络上传递所需的数据。
确保该对象是
serializable
并且在shared
包中。关于java - 在客户端使用外部库类:GWT,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19225609/