0%

详解Java开发环境配置

前言

这是搭建自己的博客之前在慕课网写的关于java开发环境配置的一篇手记,原文传送门。个人博客初具雏形之后就要以这里为根据地记录开发路上的所得所想了。以下是原文:


说到java开发环境变量的配置,大家应该都很熟悉,无非是安装好JDK以后配置系统环境变量 path ,以及 CLASS_PATH ,但是对于小白来讲,刚开始学习,是否真的知道为什么要这样配置?笔者最近在复习java相关的知识,想起刚开始学习java的时候根据教程一步步搭建好开发环境,当时是知其然不知其所以然,google了一下,发现大多是介绍如何配置的,还是没有解决笔者最初的问题。现在对于这个问题有了一定的了解,故写下此文,记录下当初的疑惑,也希望能为刚入门的朋友们解惑。

JRE与JDK

JRE(Java Runtime Environment)是指Java运行环境,就像图片文件只能由图形程序打开,音频文件只能由影音程序打开一样,不同的编程语言所开发出来的程序有不同的运行环境,JRE就是Java程序运行的载体。JRE中除了一些java的标准类库函数以外,值得一说的就是Java虚拟机了,为了方便大家理解,后面结合JDK再来说明,暂且记下JRE当中有一个叫Java虚拟机的东西存在就可以了。

JDK(Java Development Kit)顾名思义,java开发工具,是连接java程序员与计算机的桥梁。用java语法编写好的源代码文件,交由JDK编译字节码,从而使得java源代码能够在Java虚拟机(JVM)中运行。

终于说到JVM了,JVM(Java Virtual Machine)能够认识JDK编译出来的字节码,并且将字节码转换成各个平台都能理解的形式,由此,各大平台就可以不加修改的执行这段源代码文件了(PS:Java的跨平台性就是得益于JVM的存在,JVM屏蔽与具体操作系统相关的信息,使得java程序可以在各个平台执行,通俗的讲,就相当于不同国家的人进行交流,而JVM就是交流中精通多国语言的高级翻译员)。

JRE和JDK都可以在Oracle的官网上下载到,如果仅仅想要运行别人写好的java程序,只下载安装JRE就可以了,但是如果要自己编写程序就要安装JDK了,由于编写程序还要进行测试需要jre,所以在安装JDK的过程中会弹出一个对话框询问是否需要安装jre。看到这里大家应该明白了,JDK当中其实是附带了完整的JRE的,而JRE中又有java程序运行必备的JVM,所以在安装工具包的时候只要找到JDK下载安装就可以编写和调试运行java程序了。

JDK安装目录结构

JDK安装目录结构
  如上图就是我的jdk安装目录,这里只介绍相关的目录,想了解更多关于目录结构可以自行google。途中可以看到标注了三个文件夹,其中 src.zip 是Java所有源码的压缩包; jre 就是JDK附带安装的运行环境;还用一个 lib 目录里有两个文件 dt.jar (是关于运行环境的类库,主要是swing的包)和 tools.jar (是关于一些工具的类库)大家注意一下,这两个文件也是运行时不可少的,重点来了,就是 bin 了,其中就是java开发工具的可执行文件,什么意思,就是说可以在命令行运行相关的命令来执行操作,如果是windows系统,打开会看到很多exe文件,比如 javac.exe , java.exe 等等,这两个命令分别是编译源代码和启动JVM运行字节码文件的命令,我们实际操作看一下:
运行java命令
大家可以看到,开始的时候我们所在的目录是个人文件夹(cmd打开时默认路径),这时候执行 java 命令的时候报错了,我们需要用 cd 命令进入到 java.exe 所在的目录也就是 bin 目录才能执行这条命令,这也就是为什么我们需要配置环境变量的原因了!

配置环境变量

1.配置Path变量

首先让我们进入环境变量的配置界面:右击计算机->属性->高级系统设置->环境变量,现在看到的就是这样的界面了:环境变量在配置环境变量之前,我们需要知道windows系统环境变量当中是有 Path 这一变量的,path变量的值就是一些路径,我们在命令行输入指令时,windows首先会在当前路径查找执行文件,其次会在path配置的路径中查找,如果还没有找到就会像上面一样报错,由于 Path 默认的值是没有 bin 目录的路径的,所以当我们只能先进入到 bin 目录才能运行java命令,如果每次运行命令都要先进入 bin 会很麻烦,而且效率也低,现在我们知道要在任何路径下都能运行 bin 的文件只需要在 Path 的值里面加上 bin 所在的路径就行了,像我的就是 C:\Software\java\jdk1.8.0_74\bin 要注意的是,path的值里面路径与路径之间要用半角;隔开,在配置的时候最好使用全英文输入。这个时候不管在哪个路径运行 java 的时候都不会报错了。

2.配置ClassPath变量

现在配置好 Path 变量了,我们来写个HolleWorld来运行一下看看,执行 javac HelloWorld.java 之后大家会发现在当前路径下产生了一个与java文件同名的class文件,class文件
这就是编译器编译出来的字节码文件,这时候执行 java HelloWorld 就会看到‘Hello World !’就会出现在cmd界面了,这是因为JVM通过 CLASS_PATH 的值来寻找这种class文件,如果找到了就会将它转换成windows能够理解的形式来运行我们的程序了。由于1.5版本以后的JDK的智能性,如果没有配置 CLASS_PATH 则会自动到当前路径寻找class文件,如果配置了则会从 CLASS_PATH 的路径中找。而且使用Java的编译和运行工具时,系统可以自动加载之前提到 lib 目录下的 dt.jartools.jar 文件中的Java类,因此不再需要设置classpath环境变量了。但是jdk1.5之前的版本并没有这么智能化,所以还需要手动去配置classpath变量如下:.;C:\Software\java\jdk1.8.0_74\lib\dt.jar;C:\Software\java\jdk1.8.0_74\lib\tools.jar,要注意前面的 .; 这是用来寻找当前路径下class文件的,因为改动了classpath的值,所以也要加上寻找class文件的路径。 那为什么网上还有很多教程都说要这样配置呢,可能是因为之前保留的习惯吧,而且配置一下也并无不妥, 不过今天来讲,如果要使用自己封装的包,那么就要配置classpath变量,否则不配置也是可以的。

3.配置JAVA_HOME变量

看到这里,相信你已经配置好 PathCLASS_PATH 变量了,现在配置 JAVA_HOME 变量会使得以后的工作简单很多,我们将 JAVA_HOME 变量配置如下:C:\Software\java\jdk1.8.0_74 (也就是jdk的安装目录),这样配置以后,我们就可以 将PathCLASS_PATH 变量路径中的 C:\Software\java\jdk1.8.0_74 改为 %JAVA_HOME% 了,这样一来,即使以后重新安装jdk改变了安装路径,我们只需要去更改 JAVA_HOME 中的路径就行了,而且以后也会使用到 JAVA_HOME 这个变量的。

结语

以上就是我对java开发环境变量配置的理解了,希望可以帮到有着跟我当时一样的疑惑的朋友们,第一次写手记,如有不当之处,各路大神看到还望不吝赐教,谢谢~


文章属原创,欢迎转载,但请务必保留原文链接!