【发布时间】:2018-07-23 06:18:09
【问题描述】:
我们有一个使用 gwt 2.6 的旧项目,因此我们需要使用 -source 1.7 选项进行编译。
使用的 JRE 和 JDK 是 1.8,但编译时使用 1.7 源代码选项。
我们想使用来自 ConcurrentHashMap 的新 compute function,它只能在 java 8 中使用。当使用 eclipse 和 maven 时,一切都编译得很好。另一方面,IntelliJ 正在抱怨。我的问题是,它会起作用还是我们会遇到问题?
这个项目会运行吗?
在 google 中搜索 ConcurrentHashmap 计算、java 8 和源代码级别 1.7 未提供任何信息。
【问题讨论】:
-
你可能想看看 backport。 Here is a (possibly incomplete) list on wikipedia
-
如果您想在那个旧项目中使用 Java 8 功能,最好先升级到新版本的 GWT。见stackoverflow.com/questions/15693169/java-8-support-in-gwt
-
您可以做的最简单的事情是将default compute 方法的实现从
ConcurrentMap接口复制到一个新的静态方法中,并为CHM实例添加一个额外的ConcurrentMap参数操作。不如 CHM 中的定制实现高效,但至少在功能上是等效的。 -
我尝试将生成的 jar 部署到 jre8 上,到目前为止一切正常。我只需要注意它不会到达获取部分。但我同意它可能很快就会崩溃
-
JRE8?你是说你7?此外:我很欣赏你的快速回归!
标签: java intellij-idea java-8