解决 deepin 系统启动 PyCharm 提示 No JDK found 的问题

一、系统环境

  • 操作系统:deepin 15.10.2 桌面版 64位
  • 应用程序:PyCharm Professional 2019.1.2

二、问题描述

在 deepin 应用商店中安装 PyCharm,在启动 PyCharm 时弹出错误提示:No JDK found. Please validate either IDEA_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation

三、原因分析

  • JDK 是什么
    JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK,Software Development Kit),它包含了 Java 的运行环境(JRE,Java Runtime Environment)、Java 工具和 Java 基础的类库。因此,没有 JDK 的话,将无法编译 、调试和运行 Java 程序。
  • JDK 有哪些
    • OpenJDK 原是 SunMicrosystems 公司为 Java 平台构建的 Java 开发环境(JDK)的开源版本,完全自由,开放源码。Sun Microsystems 公司在2006年的 JavaOne 大会上称将对 Java 开放源代码,于2009年4月15日正式发布 OpenJDK。甲骨文在 2010 年收购 SunMicrosystem 之后接管了这个项目。
    • Oracle/Sun JDK里面包含的 JVM 是 HotSpotVM、HotSpot VM只有非常少量的功能没有在 OpenJDK 里,那部分在 Oracle 内部的代码库里。这些私有部分都不涉及 JVM 的核心功能。所以说,Oracle/Sun JDK 与 OpenJDK 其实使用的是同一个代码库。Oracle/Sun JDK 包括以下3个版本:SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从 JDK 5.0 开始,改名为 Java SE;EE(J2EE),enterprise edition,企业版,使用这种 JDK 开发 J2EE 应用程序,从 JDK 5.0 开始,改名为 Java EE;ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的 Java 应用程序,从 JDK 5.0 开始,改名为 Java ME。
  • PyCharm 貌似用 Java 编写的,需要 Java 的运行环境。
  • deepin 15.10.2 默认安装了 OpenJDK 8,在默认 OpenJDK 8 环境下是可以正常启动 PyCharm 的,只不过中间更新了一次软件包sudo apt update sudo apt upgrade将 OpenJDK 8 升级到 OpenJDK 10,导致文章开头提示的错误。
  • 解决思路,1.还原 OpenJDK 8;2.安装 Oracle/Sun Java SE 8。

四、解决办法

1.还原 OpenJDK 8

  • 安装:sudo apt install openjdk-8-jdk
  • 多版本情况下,设置默认:
    • sudo update-alternatives --config java
    • sudo update-alternatives --config javac

2.安装 Oracle/Sun Java SE 8

  • 下载 Oracle/Sun JDK
    • Oracle 官网(国内下载速度慢):https://www.oracle.com/technetwork/java/javase/downloads/index.html
    • 国内华为镜像站(速度快但资源不全):https://repo.huaweicloud.com/java/jdk/
    • 百度网盘:https://pan.baidu.com/s/1v6HsE0PZmPanX-AHbyTi0Q 密码:u630
    • 选择 Java SE 8 版本(其它版本没有测试成功或与下文的配置方法不同)
  • 安装 Java SE 8
    解压jdk-8u211-linux-x64.tar.gz,将生成的jdk1.8.0_211目录拷贝到指定目录下
    tar -zxvf jdk-8u211-linux-x64.tar.gz
    sudo mv jdk1.8.0_211  /usr/lib/jvm/
    
    安装路径可以根据个人情况指定,因为 deepin 默认安装了 OpenJDK,安装路径在/usr/lib/jvm/目录下,为了集中管理也将jdk1.8.0_211拷贝到该目录下
  • JDK 环境变量配置
    • 配置/etc/profile
    sudo vi /etc/profile
    
    在文件末尾添加以下代码:
    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_211
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export PATH=${JAVA_HOME}/bin:$PATH
    
    注意 JDK 的路径和版本号
    • 使配置生效
    source /etc/profile
    
    • 测试
    java -version
    
    输出:
    java version "1.8.0_211"
    Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
    
    • 配置/etc/environment
    sudo vi /etc/environment
    
    添加以下代码:
    JAVA_HOME=/usr/java/jdk1.8.0_211
    
  • 重启电脑
    通过以上的操作,PyCharm 应该可以正常启动了。

你可能感兴趣的:(解决 deepin 系统启动 PyCharm 提示 No JDK found 的问题)