【问题标题】:Java 9 not compilingJava 9 未编译
【发布时间】:2018-06-15 05:49:51
【问题描述】:

我想开始使用 Java 9 和 10,但是当我用这段代码创建一个简单的类时:

package jav;

import java.util.List;
import java.util.Map;

public class MainTester9 {

    public static void main(String[] args) {

        List list1 = List.of();
        List list2 = List.of("one","two","three");

    }
}

我收到错误“列表类型的 () 方法未定义”。 在 Eclipse 中,我在已安装的 JRE 中获得了 jre 10,并且编译器合规级别为 10。(我也尝试过使用 9)。 Eclipse 版本:Oxygen.3a 发布 (4.7.3a)

但这不是eclipse问题,因为在命令行“java --version”返回“java 10.0.1 2018-04-17”,但是javac在“的”位置给了我“找不到符号” "秒。

【问题讨论】:

  • 路径?您的意思是安装的 JRE 中引用的 C:\Program Files\Java\jre-10.0.1?
  • 不仅要检查已安装的 JRE,还需要检查项目设置,确保项目使用 JRE-9 或 10 作为编译 JRE。
  • 查看导入语句。您是否导入了正确的List
  • 右键项目 --> 属性 --> Java 编译器 --> 启用项目特定设置没有勾选。我导入 java.util.List;
  • 你说 java --version 返回 10.0.1, javac -version 返回什么?你能发布完整的示例文件吗?看起来不会很大。

标签: java compilation java-9


【解决方案1】:

现在可以了。这是我必须做的,除了上面的 cmets 中提到的事情:

要使其在命令行上运行:更改环境变量(在我的例子中称为 JAVA_HOME,大多数人都这么称呼它,并且在 PATH 中找到)

在 Eclipse 中: 项目 --> 属性 --> Java 编译器 --> 勾选“启用项目特定设置” --> 将 JDK 合规性设置为 10(不确定这一步是否必要)

Properties --> Java Build Path --> Libraries --> 从 Classpath 中移除 jre-1.8 并添加 jdk-10.0.1

【讨论】:

    猜你喜欢
    • 2018-04-03
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多