最近在学习安卓,下载了开发工具Android Studio之后,没有配置Java环境,只下载了安卓SDK,程序就能运行,以为开发工具都帮我们搞定了。后来需要本地自动化打包,却出现问题了,报如下错误:
Execution failed for task ':guard-plugin:compileJava'.
> java.lang.IllegalAccessError: class org.gradle.internal.compiler.java.ClassNameCollector (in unnamed module @0xf822b3d) cannot access class com.sun.tools.javac.code.Symbol$TypeSymbol (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.code to unnamed module @0xf822b3d
经过搜索,说是java版本太高了,需要降级。我查了一下,电脑里面确实有个jdk17版本,但是我也不记得是我自己下载安装的还是Mac系统本身自带的。但是这都不重要了,需要重新下载一个低版本的jdk,即jdk11版本。
现在oracle官网下载jdk11需要注册账号,网上提供的绕过登录的方式,现在也已经失效了。即复制下载链接,然后获取文件的下载地址,修改otn为otn-pub,然后重新在浏览器输入链接。现在这样操作,打开后是404。
现在要么注册账号从官网下载,要么就从其它渠道下载。
安装步骤
- 下载jdk11,一路傻瓜式安装。
- 获取Java安装路径:Mac系统中的java一般都装在
/Library/Java/JavaVirtualMachines
下,进入这个路径可以看到你安装的全部版本的JDK。 - 配置
.bash_profile
文件,这是个隐藏文件,可以通过vim命令打开:sudo vim ~/.bash_profile
,输入一下内容:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.15.1.jdk/Contents/Home"
export CLASS_PATH="${JAVA_HOME}/lib"
export PATH=".$PATH:$JAVA_HOME/bin"
-
保存后退出,执行source命令使配置生效
source .bash_profile
-
执行命令:
echo $JAVA_HOME
测试,可正常显示java路径,成功。 -
为了是配置每次都生效,打开
.zshrc
文件,将命令source ~/.bash_profile
添加到文件末尾,这样终端重启之后,命令每次都会生效。
遇到的问题
- 路径找不到问题:
/Users/admin/.bash_profile:5:/Users/admin/Library/Java/JavaVirtualMachines/jdk-11.0.15.1.jdk/Contents/Home not found
检查脚本中是否有空格,=
号两边一定不能有空格,最好直接拷贝文章里的指令到bash_profile文件里,不要自己手敲。