我正在使用 guice 3.0 编写一个基于 Camel 的小型 JMS 应用程序来连接所有内容。不幸的是,CamelModule 依赖于 guiceyfruit,其当前版本对 guice 2.0 具有传递依赖!
在 guice 2.0 和 3.0 之间删除了一些不推荐使用的类,特别是 com.google.inject.internal.Sets/Lists/Maps!
由于删除了类,排除对 guice 2.0 的传递依赖并仅使用 guice 3.0 不起作用;运行时会有 ClassNotFoundExceptions。
我的解决方案是在我自己的项目中实现三个类以及 guiceyfruit 需要的每个类的单个方法(newArrayList、newHashSet、newHashMap)。这些只是委托给这些方法的谷歌番石榴实现
我不再得到 ClassNotFound 异常,但我不禁感到有一种更有效的方法来实现这一点。
处理这种情况的最佳方法是什么?