java - 如何同时共享 Java 和 GWT 项目的 EventBus?

标签 java javascript gwt guava

我有一个java项目,它使用Guava EventBus 。现在我想使用该项目中的代码来使用 GWT,而无需重写它。我知道 GWT 有自己的 EventBus,但我无法更改 Java 项目中的导入,因为这会破坏 Java 项目。

在我的 GWT 项目中,我包含了 guava 和 gwt-guava jar。我还包括:

<inherits name="com.google.common.collect.Collect"/>

在我的 gwt.xml 文件中。 Guava 至少适用于 GWT 项目中的其他类(例如 Strings)。

我想使用Guava的EventBus而不是GWT提供的EventBus。我需要这个,因为我的 Java 项目无法与该 GWT EventBus 一起使用。 问题在于 GWT 项目使用 GWT EventBus,而 Java 项目使用 Guava EventBus。我如何将这些东西放在一起?如果我能以某种方式在我的 GWT 项目中替换 Java 项目中的 Guava EventBus,那就太好了。

如何将 Guava EventBus 与 GWT 结合使用?有没有办法在不更改其他 Java 项目中的依赖项的情况下使用它?

最佳答案

Guava 的 EventBus 在 GWT 客户端代码中不可用。 (你可以看出,因为 it doesn't have the @GwtCompatible annotation 。)

有时,GWT 下不可用的类也可以使用。不过,EventBus 使用了 Java 反射,而这在 GWT 下大多不可用,因此无法使其可用。

关于java - 如何同时共享 Java 和 GWT 项目的 EventBus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28300165/

相关文章:

java - java socket程序中的ArrayIndexOutOfBounds异常

java - 将菜单项添加到 Blackberry 菜单列表

javascript - 413 请求实体太大 HighCharts

javascript - 克隆表行

maven-2 - 哪个 Maven(2) 插件与 GWT 1.6 一起使用?

gwt - 将 SuggestBox 作为可编辑单元格添加到 CellTable

java - 使用 Java 检查序列是否几乎严格按升序排列

java - 部署到 AWS Elastic Beanstalk 后如何访问 servlet?

javascript - 如何使用 NextJS 使用自托管字体?

security - 这对于客户端代码安全吗?