【发布时间】:2018-11-21 10:03:27
【问题描述】:
我在使用 jersey 1.18.6 的 google app-engine 上部署了一个 RESTful Web 服务应用程序。 我想使用邮戳 java 客户端从它发送交易电子邮件。 当我集成它时,我看到了以下异常:
javax.ws.rs.core.Response$Status$Family.familyOf(I)Ljavax/ws/rs/core/Response$Status$Family
据我所知,我认为这个错误是因为使用了两个不同(可能不兼容)的球衣版本,1.18.6 用于 jersey-server、jersey-guice 和 jersey-bundle 以及 2.25.1球衣客户(按邮戳)。
然后我尝试将球衣版本全部设置为 1.18,6,因此在我的主项目 pom 中,在包含邮戳的依赖项的同时,我排除了 jersey-client(通过添加排除标头)并单独添加 jersey-client 依赖项在我的主要项目中。
然后我得到以下错误:
java.lang.NoClassDefFoundError: javax/ws/rs/core/MultivaluedHashMap
这是我认为 MultivaluedHashMap 类仅存在于 jax-rs 2.x 版本中(与 jersey 2.x 版本兼容)
所以我的问题是:
是否有使用 jersey 1.x 而不是 jersey 2.x 的 postmark java 客户端库版本?
如果没有,那么除了将我的主要项目从 jersey 1.x 迁移到 jersey 2.x 之外,我还有什么选择。我不想这样做,因为我们不仅要迁移 jersey 依赖项,而且我认为其他一些东西,如 guice、shiro 等,这将非常耗时。此外,仅仅为了包含一个附加模块而修改多个现有依赖项似乎并不是最佳选择。
【问题讨论】:
标签: maven jersey jax-rs postmark