java中的环境变量怎么“原理性”和“举例”的解释一下??谢谢了!!~~~
发布网友
发布时间:2024-10-08 20:01
我来回答
共5个回答
热心网友
时间:2024-10-26 11:20
这是我从别的地方看到的,我觉得讲的很好,希望对你有帮助
什么是环境变量
环境变量其实就是一组变量,就如你在java编程的时候需要定义的变量一样,它的作用是给系统和应用程序提供参数。具体到细节,例如path,它是系统中的一个重要变量,它告诉系统和应用程序一些系统必备的程序的存储位置,例如你想在命令行窗口中使用ipconfig命令查看自己的ip地址,可是系统怎么知道ipconfig这个程序在什么位置呢?答案是通过path,从头到尾挨个的取出每个参数来试,例如path中有个C:\WINDOWS\system32的话,那么它就加上ipconfig,看能不能找到程序,现在也就是说变成了C:\WINDOWS\system32\ipconfig如果能找到它的话就运行,不能的话就返回“‘ipconfig’不是内部或外部命令,也不是可运行的程序或批处理文件。”
Path
而对于java来说,你在命令行里面输入java xxx的话系统同样不知道java这个exe文件的位置,同样需要你显式的指出,java这个程序在哪呢?在你的jdk安装路径\bin文件夹里面,也就是说要想运行java,path必须指向bin文件夹。
还有一个classpath,现在系统能找到java这个程序了,但是仅仅这样的话,你在命令行中输入javac的话,又出现错误了,也许有人会说你不是说系统通过path找到了,应该能找到我设置的bin文件下的javac程序呀?这里要说的是,虽然你已经设置好了path但是系统还是有些东西找不到,什么东西呢?Java的类库文件,大家知道java的源程序上面总是有很多的形如import java.xx.xx;的语句,这就是引用的java的类库,也许有人会问,我的程序中没有这一句话呀,对,很多简单的程序都没有,例如经典的“Helloworld”里面就没有,对它是没有显式的引用,但是在每个java文件中都隐藏了这么一句“import java.lang.*”;现在问题就出来了,程序怎么才能找到这个lang这个包并且把里面的类导进去呢?显然只通过path是不行的,那么就只能另外的定义一个变量来指向类库文件。它就是classpath,为什么叫这个名字呢?不为什么,就规定了必须用这个名字,它必须叫这个名字,可以理解为它是在java的jdk中定义的一个static的变量,既然已经定义好了,你只用给它赋值就得了,然过jdk调用的时候它没有值,就是说你没有新建一个classpath并且给它赋值,那么没办法,就给你脸色看。
另外还有一点就是可能有人会问JAVA_HOME变量是一个什么变量呀,这个变量在目前的阶段来说就是一个我们自己定义的变量,它作用就是让你省劲,例如你的jdk安装的路径很深,譬如安装到了“C:\Program Files\Sun\Java\jdk1.6.0_02\”下边然后你在设置path的时候必须输入“C:\Program Files\Sun\Java\jdk1.6.0_02\bin”,设置classpath的候再来一次“C:\Program Files\Sun\Java\\jdk1.6.0_02\lib\tools.jar”,你不累系统都烦了,而且path、classpath也变得很长了,下一次设置的时候就变得很麻烦了,要找半天才能找到自己要改的地方,现在JAVA_HOME就出现了,你可以在系统中定义一个名为JAVA_HOME的环境变量,它的值是:“C:\Program Files\Sun\Java\jdk1.6.0_02”,那么在设置path的时候就可以直接写了,在path的值里面添加:“%JAVA_HOME%\bin”,就是这么简单,相应的classpath为:“,;%JAVA_HOME%\tools.jar”是不是简洁多了呢?而且你的安装路径变了或者写错的时候要改也只用改这一处,不用把path和classpath同时修改。到了这里我继续叨叨几句,JAVA_HOME可以不大写,甚至名字都可以变成“sxy”,“a”,或者你能想到的其他,反正只要在引用它(就是系统在看到有%%围绕的变量时就把它替换成变量的值,例如上面的“%JAVA_HOME%\bin”系统看到这个的时候就把%JAVA_HOME%变成了C:\Program Files\Sun\Java\jdk1.6.0_02)保证名称一样(大小写不敏感),但是如果以后你要是使用tomcat等软件的时候,它会检查你的JAVA_HOME变量,所以最好保持这个名字不变,但是你如果现阶段不用,就随便了。现在明白了,也许有人会说我啰嗦,没办法放出一个环境变量的例子来:
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_02(等号前面代表变量名,后来表示值,这样详细的解释感觉自己智商在下降~~后边的是你的jdk的安装位置,如果你的jdk是1.6安装的时候默认的话,那么就这样设置就行了,不是的话相应改变);
Path加上一句(!!!注意是加上,不是把原来的东西给去掉,那么的话很多程序就不能运行了,然过你去掉了的话跟我联系,)%JAVA_HOME%\bin
Classpath=.;%JAVA_HOME%\lib\tools.jar;另外一点就是最好把你放置自己写的程序的位置也加进来。例如你平常程序都放在d:\source下,那么直接加上就可以了,别忘了分号~~~
热心网友
时间:2024-10-26 11:20
指的是系统的环境变量?
热心网友
时间:2024-10-26 11:21
有一张图片
热心网友
时间:2024-10-26 11:21
这算是 JAVA学习中最基础的知识了 你所编写的.java文件 要经过java虚拟机(JVM)的编译后
(变成.class文件) 再由JVM执行该程序 你在编写程序中 写到的类 用到的类 要么是你自己编译的类 要么就是 JAVA JDK自带的类 那么 这里就清楚了 为什么要配置 环境变量了 如前面所说 JAVA 虚拟机(JVM)编译和执行的时候 要找到你程序中用到的类 这里path 路径是 你程序中用到 JAVA JDK中自带的类 的路径 而 classpath路径是 你自己定义的类的路径 我说的可能不清楚 我也是新手 只是把我自己的理解 分享下
补充 相信楼主应该知道怎么配置环境变量吧? java学习的初期 建议楼主只要弄懂 path
环境变量就可以 classpath 在后期的学习中会慢慢的了解 清晰
path环境变量 就是配置 JDK路径 为什么要配置JDK路径呢? 在JDK中封装了 许许多多的 类 我们可以通过这个路径找到这些类
热心网友
时间:2024-10-26 11:22
path是系统目录 你在命令行下想要直接运行一个程序的话 就需要它在path定义的路径下 因此你要运行java 和javac命令的话 就需要把java.exe和javac.exe所在目录配置到path下
classpath是对java而言的 是指java可以去哪里找class 比如你在D:\下运行java a.class 而a.class其实是在D:\java\下 那么你就需要把D:\java\配置到classpath里
对于两个配置 相同的地方是用;隔开每一个路径 用.表示当前路径
.的含义就是你执行命令时的位置 比如你执行D:\java a.class 那么.表示的就是D:\