macbook 使用bash执行 gradlew checkcode时,某个组件的Kotlin编译出错,抛出的异常为 compileReleaseKotlin fails with java.lang.ClassNotFoundException: com.sun.tools.javac.util.Context。使用 Idea 中的 bash 执行正常。
原因:
1、没有安装 OracleJDK
2、安装了 OracleJDK,但是没有设置环境变量
MacOS 是自带 OpenJDK。在安装了 OracleJDK 后,如果没有设置环境变量,bash 中的 gradlew 依然会使用系统自带的 OpenJDK 环境。而 idea 中的 gradlew 用的是项目中的 OracleJDK,所以不报错。最终解决办法如下:
(1)如果没有 OracleJDK,安装 OracleJDK。如果安装了跳过即可。
(2)配置环境变量 ,参照Mac环境变量PATH的配置 - 简书 (jianshu.com)