企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
就如同,如果我们想要游泳,前提是需要一个泳池;如果我们想要打篮球,前提是需要一个篮筐一样。 如果我们想要使用Java语言进行开发工作或者想要运行由Java语言编写的程序,那么第一步工作就是搭建一个支持Java语言的环境。 首先我们需要认识Java为我们提供的这两样东西: JRE - Java Runtime Environment (Java运行环境) JDK - Java Development Kit  (Java开发库) 顾名思义,如果你的目的只是单纯想要在自己的系统环境下运行用Java语言编写的程序,那么通过安装JRE就足够了。 而如果你是作为一名使用Java语言的开发者,就应当选择安装JDK了。而实际上JDK自身也包含JRE,这是必然的,因为作为开发者的最终目的也是编写可运行的程序。([下载JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html)) 现在就可以正式的开始在你的系统环境下搭建Java环境了,搭建的过程其实很简单: 第一步:下载好JDK,找到安装程序按操作提示进行安装。没有任何技术含量。 第二步:配置Java相关的环境变量。需要明确的是, 通常我们配置的相关环境变量有三个:Path,JAVA_PATH,JAVA_HOME; 在深入之前,我们还是先说一说配置环境变量的方法吧,以Win7操作系统为例: **1.右键点击你的“计算机” - “属性” - “高级” - “环境变量”** **2.新建一个名为“JAVA_HOME”的环境变量,其值为:你电脑上JDK的安装路径\bin,例如:C:\Program Files (x86)\Java\jdk1.7.0_45** **3.找到名为“Path”的环境变量,在现有值的最前端加上:%JAVA_HOME%\bin;** **4.新建一个名为“CLASSPATH”的环境变量,通常值我们配置为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;**** 事实上配置环境的步骤并没有什么技术含量。可能当我们接触java的第一天,就被要求记住配置它们的方法。 但其实这其中还是值得我们一看的,因为像我一样的菜鸟可能通常掌握了配置方法,却可能忽略了配置这些环境变量的目的是什么。 那不妨现在就让我们来认识一下这些可能被我们忽略的地方。 首先看一下,这样一种情况: 打开你电脑的命令行工具,然后输入命令notepad,敲回车。 这时的情况是:你发现你电脑的记事本程序被打开了。 之所以在命令行输入notepad命令,就可以打开window系统中的记事本程序。 其原因就在于环境变量的配置。所以我们可以以此为例,来认识配置环境变量的功用是什么。 还是老样子,右键点击你的“计算机” - “属性” - “高级” - “环境变量” ,找到名为"path"的环境变量。 点击打开查看它的值,然后,以我的电脑为例,你会发现类似于:C:\Windows\system32;这样的值。 然后输入该值进入到对应的系统路径下,你会发现有很多.exe的应用程序,其中就有notepad.exe。 到了这里,我们似乎已经猜到了什么。那么,就不妨动手验证一下,将path变量中的C:\Windows\system32删掉。 这次我们重新在命令行中输入notepad命令。发现得到这样的提示:'notepad' 不是内部或外部命令,也不是可运行的程序或批处理文件。 这时我们其实已经知道了,简单来说,配置Path的作用在于: 可以在任一路径下调用到Path中配置过的路径下的可执行程序。相反如果没有设置过Path,那么想调用某个目的程序,就必须进入到它所在的路径下。 这时,就让我们回过头看一下,我们在配置Java的环境变量时, 在Path里添加了类似如下的值:C:\Program Files (x86)\Java\jdk1.7.0_45\bin, 正如我们测试记事本程序所做的一样,进入到值对应的系统路径下发现: 该路径下几乎全是Java提供的相关的.exe可执行程序工具,其中最重要的两个工具程序正是:java.exe与javac.exe! javac.exe能够对Java源文件进行编译;java.exe用于查找和运行Java的可执行文件。 接着,前面介绍过了,实际环境搭建中,我们会配置一个名为"**JAVA_HOME**"的环境变量。 这个变量的作用实际很简单,它的值永远都是你的电脑上JDK的安装路径。 以我电脑上的配置为例,使用C:\Program Files (x86)\Java\jdk1.7.0_45\bin;和%JAVA_HOME%\bin;两种方式作为环境Path的值,达到的效果实际一模一样。 以面向对象的思想来讲,我们可以认为我们将自己电脑上jdk的安装路径单独封装成了一个字符串对象"JAVA_HOME"。 因为环境变量PATH的值通常都有很长一串,所以我们使用JAVA_HOME的方式好处就在于: 如果我们JDK的安装路径发生了变化,就不用再打开Path变量,在一长串眼花缭乱的值里面去找到要修改的地方, 而直接找到"JAVA_HOME"变量进行修改就OK了。 最后,就是CLASSPATH环境变量的作用了。 要理解它的作用,首先要知道的是:在Java中,以".java"后缀结束的文件,被视为Java程序的源文件。 当编译器对".java"文件成功编译后,我们会得到一个同名的".class"文件,这个文件才是真正意义上Java的执行文件。 所以,我们配置CLASSPATH环境变量的目的实际就在于:设置虚拟机查找指定".class"文件的路径。 举个例子,就更容易明白了,我们写一个HelloWolrd: ~~~ public class HelloWorld { public static void main(String[] args) { System.out.println("Hello java!"); } } </span> ~~~ 然后,打开命令行工具,利用javac工具对其进行编译,编译成功得到:HelloWorld.class文件。 我将该文件拷出来,放在我的**E盘**根目录下。这时我们就可以来看一下CLASSPATH的作用了。 第一种情况,假设这时我们还没有配置过CLASSPATH环境变量,这时我们在命令行通过:java HelloWorld命令想要运行该程序,结果得到如下信息:错误: 找不到或无法加载主类 HelloWorld 然后,我重新配置CLASSPATH为:E:。这时再通过:java HelloWorld命令运行程序,发现成功得到输出信息:Hello java! 前面我们说,CLASSPATH的值通常配置为:".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar"; 值得注意的是最前面的".","."实际上代表的当前路径。也就是说这样配置虚拟机在运行一个程序时,会首先在你当前所在路径下查找是否存在指定的".class"文件。 到此,关于Java开发环境的搭建的事,已经说的差不多了。最后总结一下三个环境变量配置的意义是什么吧。 JAVA_HOME:顾名思义,JAVA的家,也就是指当前计算机上JDK(或JRE)的安装路径。 PATH:用于设置Java中各种命令行工具的所在的文件夹路径。通过PATH的设置可以保证在系统任一路径下都能调用到Java相关的命令行工具。 CLASSPATH:JVM会在该环境变量下设置的对应该路径下查找指定的.class文件运行。 注: 我们可以将:“计算机” - “属性” - “高级” - “环境变量”这样的配置方式视作一种“一劳永逸”的懒汉式配置方式。这样配置的好处在于:一次配置后,永久有效。 同时还有另一种配置方式,在命令行工具中通过“SET”命令进行配置。这种方式是一种“临时”配置方式,也就是说:配置的环境变量,只在当前运行的命令行程序中有效,当退出命令行后,所配置的环境变量也就失效了。 两种方式各有长短,可以根据实际情况选择使用。