GWT中的Java8支持
这似乎是一个非常基本的问题,但我到处寻找,几乎没有发现任何地方提到它。所以,我会在这里问 目前在GWT中支持Java 8新语言结构的计划是什么? 此外,建议的Java8库中有哪些子集计划用于客户端仿真?流API?新的日期/时间API 最后,关于这个重要议题的讨论在哪里进行?我相信我们中有很多人愿意参与这项工作,并可能为之做出贡献 Java8Beta已经存在了一段时间,有很多文章讨论了提议的API。本应在今年晚些时候与之相关,因此至少讨论急需的语言特性将如何以及何时进入GWT似乎已经过去了GWT中的Java8支持,gwt,java-8,Gwt,Java 8,这似乎是一个非常基本的问题,但我到处寻找,几乎没有发现任何地方提到它。所以,我会在这里问 目前在GWT中支持Java 8新语言结构的计划是什么? 此外,建议的Java8库中有哪些子集计划用于客户端仿真?流API?新的日期/时间API 最后,关于这个重要议题的讨论在哪里进行?我相信我们中有很多人愿意参与这项工作,并可能为之做出贡献 Java8Beta已经存在了一段时间,有很多文章讨论了提议的API。本应在今年晚些时候与之相关,因此至少讨论急需的语言特性将如何以及何时进入GWT似乎已经过去了 如果这
如果这个问题在其他地方得到了回答,或者我错过了一些与之相关的重要信息,我深表歉意。这将是一个伟大的地方,有一个链接到这些信息,即使它已经得到答复。谢谢 EDITGWT 2.8.0于2016年10月20日发布,支持Java 8语言构造(lambdas,方法引用)和一些Java 8 API的模拟(主要是流) 编辑自2014年4月起,GWT 2.6支持Java 7,目前正在进行工作,以支持将于2014年夏季发布的GWT 2.7中的Java 8。GWT2.7可能只支持Java8语言构造,而不模拟任何新的API(streams、javax.time等)
计划首先支持Java 7: 这涉及到更新JDT,这是(或者完全切换到其他东西;使用他们已经支持Java8的解析器,但GWT也需要一个编译器,我不知道他们提供了什么)。接下来的步骤是将新的语言结构映射到JavaScript(想到switch中的字符串,因为它们可以直接映射到JavaScript,而无需Java编译器所做的基于
hashCode
的去语法)
只要GWT使用JDT进行Java解析/挖掘/编译,Java 8只有在JDT支持的情况下才能得到支持(在可接受的级别上,AFAICT还不是这样)。是时候更新答案了 更新(2020年5月13日) GWT 2.9.0
- 能够使用JSInteropBase1.0.0、Elemental21.0.0和JSInteropAnnotations2.0.0编译项目。除了@JsAsync和@JsEnum之外,这使GWT2与J2CL兼容
- 增加了对Java语言级别9、10和11的支持
- 正式地,对在Java7上运行GWT编译器或服务器端工具的支持被取消。GWT发行版仍然编译为在Java7上运行,但没有保证这是否有效。未来版本将编译Java8+的字节码。该版本经过测试,发现在使用Java8、11和14运行时可以跨平台工作
- 修复错误的不可用的js警告
- 修复有关DevMode服务器(jetty)重新启动的问题
- 修复超级开发模式下更改编译器选项而不触发完全重新编译的问题
- 将缺少的命令行参数添加到DevMode入口点
- 修复了字符串中的性能回归
- 部分支持Java8标准库API(完整列表见下文)
- 使用Java 8编译修复内存泄漏
- 源代码级别设置为Java8
- 接口中的静态和默认方法对生成器不可见。如果您想利用这些Java-8ISM,建议您切换到注释处理器。如果将接口更改为将非默认方法转换为默认方法,这可能会破坏现有的构建
- 模拟java.io.UncheckedIOException
- 模拟可选及其int、long和double变体
- 使用消息提供者模拟Objects.requirennull()
- 修复Math.min/max(float/double)仿真行为
- 模拟Character.isBmpCodePoint()
- 模拟CharSequence.chars()
- 模拟java.lang.SecurityException
- 仿真的Java8API
- java.util.array
- java.util.ArrayDeque
- java.math.biginger
- java.util.BitSet
- java.util.Comparator
- java.util.function
- java.util.Iterator
- java.lang.Iterable
- java.util.IntSummaryStatistics/LongSummaryStatistics/DoubleSummaryStatistics
- java.util.Collection/list/Queues
- java.util.Map
- java.util.logging.Logger
- java.util.PrimitiveIterator
- java.util.Spliterator
- java.util.stream
- java.util.StringJoiner