0

下面的代码

import com.sun.tools.javac.util.Abort;

public class Test {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}

使用javac编译这个文件,编译错误是这样的

com.sun.tools.javac.util 不存在

我正在使用 mac,这是我的 java -version 输出

openjdk version "1.8.0_265"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.265-b01, mixed mode)
4

1 回答 1

0

该包com.sun包含 Oracle 私有 JDK 类(在此处查看更多信息和官方声明)。

您正在运行 OpenJdk,并且此 JDK 不包含 Sun 的软件包。

2个解决方案:

  • 使用 Oracle JDK 执行您的程序
  • 不要使用这些类。

请注意,com.sun出于这个确切原因,在应用程序中使用包被视为一种不好的做法。

于 2021-06-22T08:06:28.980 回答