问题描述
代码如下
import com.sun.tools.javac.util.Abort;
public class Test {
public static void main(String[] args) {
System.out.println("hello world");
}
}
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)
解决方法
包 com.sun
包含 Oracle 私有 JDK 类(查看更多信息 here 和 offical statement)。
您正在运行 OpenJdk,并且此 JDK 不包含 Sun 的软件包。
2 个解决方案:
- 使用 Oracle JDK 执行您的程序
- 不要使用这些类。
请注意,正是出于这个原因,在应用程序中使用 com.sun
包被视为一种不好的做法。