vim 配置环境变量与 JDK 编译器异常

vim 配置环境变量

  1. 使用 vim 打开系统中的配置信息(不存在将会创建): vim ~/.bash_profile

  2. 以配置两个版本 JDK 为例(前提是已安装 JDK),使用上述命令打开配置信息:

  3. 输入法调成英文,输入 i,进入到编辑模式
    正确输入配置信息,输入完毕后,点击 esc 按键,退出编辑

  4. 输入以下指令,退出编辑配置信息(:是必须的) :wq 保存后退出vi,若为 :wq! 则为强制储存后退出(常用)

    :w 保存但不退出(常用)

    :w! 若文件属性为『只读』时,强制写入该档案

    :q 离开 vi (常用)

    :q! 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。

    :e! 将档案还原到最原始的状态

  5. 执行 source ~/.bash_profile ,让配置信息生效

  6. 输入 java -version,检查 jdk 版本(默认 1.8)

  7. 输入 jdk11,再次输入 java -version,检查 jdk 版本(返回 11),这样就可很方便的切换 jdk 版本配置信息示例

    JAVA_HOME_8=/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

    JAVA_HOME_11=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home

    JRE_HOME=$JAVA_HOME/jre

    PATH=PATH:JAVA_HOME/bin

    CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

    export JAVA_HOME=$JAVA_HOME_8

    export JRE_HOME

    export PATH

    export CLASSPATH

    alias jdk8="export JAVA_HOME=$JAVA_HOME_8"

    alias jdk11="export JAVA_HOME=$JAVA_HOME_11"

JAVA 编译器异常

  1. Android 项目编译失败,提示编译器异常,见图
  2. 网上给的方案一般是要求升级 JDK 版本至 JDK11,同时 Android Studio 中配置
  3. module 的 build.gradle 配置
  4. 编译运行提示程序包不存在或找不到符号
  5. 最终解决方案
    使用 JDK 11 的同时,gradle 升级使用版本 7.0.2,AGP 升级使用 7.0.2,module 的 compileSdkVersion、targetSdkVersion 均升级使用新版本 33,buildToolsVersion 升级使用 30.0.3
    再次编译,正常运行
  6. 如果控制台中输入 ./gradlew assembleDebug 指令,依然提示上述错误,首先输入 java -version,检查 jdk 版本,若 jdk 版本不满足,切换至 jdk11 然后再次输入上述命令
相关推荐
大模型玩家七七1 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
寻星探路6 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧8 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法9 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7259 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎9 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄9 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿9 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds10 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化