【Java】Java 开发环境配置及踩的坑

Posted by 西维蜀黍 on 2017-06-04, Last Modified on 2021-09-21

背景

看到这个标题,你可能会觉得这么简单的环境配置似乎不值得写一篇文章。 然而,我曾因几次没完整且正确的配置Java环境,而踩了一些小坑。

顺便也借这篇文章,梳理一下配置Java环境过程中一些设置的知识点。

JDK与JRE

JRE

Java Runtime Environment(JRE)是运行JAVA程序所必须的环境的集合,包括Java虚拟机(JVM)标准实现及Java核心类库,但是不包括 Java 开发工具(编译器、调试器等)。

简单来说,JRE安装后,就可以执行Java程序了。

JDK

Java Development Kit(JDK),即 Java 语言的软件开发工具包。包括了Java的运行环境,Java开发工具和Java基础类库。

我们要开发Java程序,必须要安装JDK。JDK中包含了JRE,换句话说,当JDK安装完成时,JRE同时也被安装好了。

在JDK中,又分为3种版本。

JDK版本:
  • SE(J2SE),即 standard edition,标准版,是我们通常用的一个版本
  • EE(J2EE),即 Enterprise Edition,企业版,其在J2SE的基础之上进行扩展,使用这种JDK开发J2EE应用程序
  • ME(J2ME),即 Micro Edition,其主要用于开发移动设备、嵌入式设备上的java应用程序

注意,他们三者并不是没有交集的,J2EE 和 J2ME 都是在 J2SE 之上的扩展(增加一些类库和开发工具)。

JVM

JVM 即 Java Virtual Machine(Java虚拟机)。

Java 语言的一个非常重要的特点就是与平台的无关性。而使用 JVM 是实现这一特点的关键。

一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入 JVM 后,Java程序在不同平台上运行时不需要重新编译。Java语言使用 JVM 屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在 JVM 上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM 在执行字节码时,把字节码解释成具体平台上的机器指令执行。

这就是 Java 能够“一次编译,到处运行”的原因。

三者关系

JDK下载

进入 Oracle 官网(http://www.oracle.com/technetwork/java/javase/downloads/index.html ),根据运行的操作系统平台,选择匹配的JDK下载。

这里,我选择了 J2SEWindows x64版本:

JDK安装

1 exe执行

运行下载完成的jdk-8u131-windows-x64.exe

根据实际情况修改路径:

安装完成后,继续配置环境变量。

2 配置环境变量

右键计算机,依次点击属性-高级系统设置-高级-环境变量,在系统变量中点击新建

  • 新建,变量名JAVA_HOME,变量值C:\Program Files\Java\jdk1.8.0_131(即JDK的安装路径,具体以本机上JDK安装路径为准)
  • 编辑,变量名Path,在原变量值后加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
  • 新建,变量名CLASSPATH,变量值.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

3 验证开发环境

控制台(Terminal)中输入java -version

若与下类似显示出当前版本信息,则说明已经正确配置了环境变量Path

这里需要特别说明的是,在控制台(Terminal)中输入java -version后显示版本信息,只能说明已经正确配置了环境变量Path,但不能说明是否正确配置了环境变量ClassPath

事实上,网上搜到的有的Java开发环境配置教程中,并不会让我们配置环境变量ClassPath,这样的配置步骤缺失,会带来新的麻烦。

在控制台下验证第一个java程序

存储于C:\Test.java

public class Test {
    public static void main(String[] args) {
    System.out.println("Hello Java");
    }
}

在控制台中执行javac Test.java(编译Java程序),java Test(执行Java程序)。

参考