一、系统环境
- 操作系统: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目录拷贝到指定目录下
安装路径可以根据个人情况指定,因为 deepin 默认安装了 OpenJDK,安装路径在tar -zxvf jdk-8u211-linux-x64.tar.gz sudo mv jdk1.8.0_211 /usr/lib/jvm/
/usr/lib/jvm/
目录下,为了集中管理也将jdk1.8.0_211
拷贝到该目录下 - JDK 环境变量配置
- 配置
/etc/profile
在文件末尾添加以下代码:sudo vi /etc/profile
注意 JDK 的路径和版本号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
- 使配置生效
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 应该可以正常启动了。