【问题标题】:Graphql Java 7 CompatibilityGraphql Java 7 兼容性
【发布时间】:2018-04-11 23:54:12
【问题描述】:

在为 GraphQL 导入 maven 依赖项时,出现错误(无法解析类型 java.util.Optional。它是从所需的 .class 文件间接引用的)。我的项目中有一个类正在扩展 SimpleGraphQLServlet。 SimpleGraphQLServlet 实现使用 Java.Util.Optional 类,但在 java 7 库中找不到此类。我无法将我的项目 java 版本升级到 8。任何人都可以为我提供这个问题的解决方案。

(这个问题与intelliJ Optional class问题不重复。这与Graphql库有关)

【问题讨论】:

  • @ThomasBöhm 这个问题不需要代码。它显示了确切的错误消息和它发生的环境。
  • graphql-java 在版本 3 之前与 Java 6 兼容,我相信。所以你可以坚持使用 2.x 分支以获得兼容性...

标签: java maven graphql graphql-java


【解决方案1】:

Streams 和 Optional 仅在 Java 8 中添加。您可能能够使用 streamsupport library,它提供了到 java.util 空间的反向端口。

请注意,使用此库可能会导致您在 Java 8 上运行时遇到问题,并且它与完全不兼容,因此如果实际上绝对不可能使用 Java 8,那么您可以尝试那个,但请记住,Java 9 现在已经过时了,Java 7 已经过时了。

编辑:我没有使用 streamsupport,而且我似乎错误地解释了文档(它不是一个确切的反向移植),所以这个选项可能不适用于预编译的jar。无论如何,迁移到现代平台是迄今为止最好的解决方案。

【讨论】:

  • FWIW,streamsupport backport 位于 java8.util 包中(即,java.util 中的 not原因很明显)
  • 感谢 Chrylis 的回复!我们所有的生产服务器都在 java 7 上运行,因此升级到 java 8 或 9 将是一项巨大的工作。对 Graphql java 7 兼容版本 maven 依赖有任何帮助吗?
  • @KishoreJosyula Java 7 现已过时。是时候升级了。也许转向 Spring Boot 提供的轻量级部署设置会有所帮助。
猜你喜欢
  • 2013-01-08
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 2011-05-03
  • 1970-01-01
相关资源
最近更新 更多