Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java8和Java时间_Java_Java 8_Codenameone - Fatal编程技术网

Java8和Java时间

Java8和Java时间,java,java-8,codenameone,Java,Java 8,Codenameone,我知道现在的默认Java库是Java8,我也在使用Java8进行本地编译 我正在尝试使用Java8()中添加的新功能。我在编译时看到以下错误: :错误:包java.time不存在 Codename One的java 8端口中是否不包括java.time类?我应该改用旧的Java日期吗?我不确定我是否遗漏了什么。快速查看一下就会发现:是的,java8确实包含了一个包java.time 因此,设置中出现错误的事实只能根源于设置中的某种错误配置 eclipse的一个典型情况是:您已经将“编译器兼容性”

我知道现在的默认Java库是Java8,我也在使用Java8进行本地编译

我正在尝试使用Java8()中添加的新功能。我在编译时看到以下错误:

:错误:包java.time不存在

Codename One的java 8端口中是否不包括java.time类?我应该改用旧的Java日期吗?我不确定我是否遗漏了什么。

快速查看一下就会发现:是的,java8确实包含了一个包java.time

因此,设置中出现错误的事实只能根源于设置中的某种错误配置

eclipse的一个典型情况是:您已经将“编译器兼容性”级别设置为1.8,但是在项目的构建路径设置中,您不是指向1.8 JRE,而是指向1.7 JRE


因此,答案是:在设置中使用JDK/JRE检查以确定可用库。所以即使没有看到Java8语法的编译器错误。。。当指向错误的JRE/JDK库时,事情仍然不起作用。

Codename One包含Java 1.8类的一个子集。我不认为包含Java时间类,CN1有自己的类,这些类是早期Java版本(我不记得可能是1.5)的子集


所有CN1类的Javadocs都在这里:

您可能正在使用一个具有“兼容性模式”的IDE来为较低的JDK版本工作。您应该禁用它。
在本地编译
——从命令提示符或IDE使用
javac
?我不熟悉Codename One。但是我可以说java.time框架是Java8标准版的一部分。因此,JavaSE的每个实现都必须包含这些类。当然,
javac-version
会有一些启发,但必须是一个较旧的jdk。代码名一的关键字是“Java8的子集”。如果我们包括整个Java8,那么rt.jar本身就是63MB。由于本机编译通常会将大小增加8倍,因此即使进行优化,这也会是一个问题。。。我们看到的对JDK全面支持的最好尝试最终得到了50MB的hello world。我们生产3MB二进制文件。我已经说过,我希望有人能将其打包成cn1lib: