我知道Codename One的默认Java库现在是Java 8,我也在本地使用Java 8进行编译。
我正在尝试使用Java 8中新增的java.time API(Tutorial)。但我在编译时看到以下错误:
: 错误:包java.time不存在
Codename One的Java 8端口中是否不包括java.time类?我应该使用旧的Java日期吗?我不确定是否遗漏了什么。
我知道Codename One的默认Java库现在是Java 8,我也在本地使用Java 8进行编译。
我正在尝试使用Java 8中新增的java.time API(Tutorial)。但我在编译时看到以下错误:
: 错误:包java.time不存在
Codename One的Java 8端口中是否不包括java.time类?我应该使用旧的Java日期吗?我不确定是否遗漏了什么。
Codename One包括Java 1.8类的一个子集。我不认为包含Java Time类,CN1有自己的类,它是早期Java版本的子集(可能是1.5,我不记得了)。
CN1的所有类的Javadocs在这里:https://www.codenameone.com/javadoc/index.html
在javadoc上进行快速检查可以得知:是的,java8包含了一个java.time包。
因此,您设置中的错误只能源于设置中的某种配置错误。
在eclipse中经常出现的一件事是:您已将“编译器兼容性”级别设置为1.8,但在项目的构建路径设置中,您可能没有指定1.8 JRE,而是指向了1.7 JRE。
因此,答案是:检查使用的JDK/JRE,以确定可用的库。因此,即使Java8语法没有编译器错误...当指向错误的JRE/JDK库时,仍然无法正常工作。
javac -version
会提供一些信息,但必须使用旧版JDK。 - Joop Eggen