您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

为什么在尝试启动码头时,lambda表达式会破坏guice错误处理?

为什么在尝试启动码头时,lambda表达式会破坏guice错误处理?

当您的一个guice模块中的配置错误并且使用的是Java 8 lambda和guice 3时,会发生此无法读取的异常。

在这个问题上花了很多时间。每次,我都通过升级guice 4 beta 解决了这个问题。其功能之一是:

更好的Java8运行时兼容性

如果使用maven:

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>4.0-beta5</version>
</dependency>

此新版本将为您提供清晰的错误消息和正确的堆栈跟踪,以使您发现问题。解决问题后,您可以切换回guice 3.0或继续使用4.0-beta(从我所见- 已经稳定)。

编辑了2016/07/13

请注意,guice 4.0和4.1已发布。因此,您应该使用最新版本:

<dependency>
  <groupId>com.google.inject</groupId>
  <artifactId>guice</artifactId>
  <version>4.1.0</version>
</dependency>
其他 2022/1/1 18:26:27 有554人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶