JAVA中“path”是什么意思?
当你在编译 Java 代码时需要通过 javac.exe(编译程序)和 Java.exe(运行程序)。
javac.exe 使用的路径就是 path,设置正确才能够直接使用 javac abc.java 命令。
java.exe 使用的就是 classpath,设置正确才能够直接使用 java abc 命令。
我就是由于这一步出问题了,输入命令的时候一直都是通过 java -cp classpath; abc 来运行程序的。
在一台电脑上配置java环境,path起什么作用
a) path的作用是在DOS环境下,能在任意位置使用JDK目录中bin文件夹中的可执行程序,来编译执行java程序。
b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。
在配置Java环境变量时,原来系统有Path,应该怎么设置?
JAVA程序能够顺利编译需要两个环境变量,一个是PATH(path),一个是CLASSPATH(classpath)。那么这两个环境变量代表什么呢?或者说究竟在JAVA程序编译中有什么作用呢?这就要涉及到WINDOWS的基本知识了。
在WINDOWS环境中,每一条能用的指令都保存在硬盘的“某个角落”,比如说指令NOTEPAD(WINDOWS的记事本指令,在C: WINNT目录下),那么在DOS命令提示符下直接输入NOTEPAD就可以打开记事本了。但是一旦我们把C:WINNT目录下的
NOTEPAD.EXE 这个可执行文件移开(比如说我们现在把它“剪切”到D盘根目录下)我们再在DOS提示符下直接输入NOTEPAD时就无法再打开记事本了,但是我们在DOS下改变路径输入 D:NOTEPAD(或者先输入cd D: 在输入NOTEPAD也行)就可以打开记事本了。
这就是说在我们直接输入NOTEPAD的时候,其实其默认路径就是C:WINN。假设我们要运行一个JAVA程序(hello.java)就要先把它的class文件移动到JAVA里的bin目录下然后打开DOS,把路径改到JAVA的BIN目录下执行java hello.class,一次无所谓但是每次都要这样去做未免太麻烦。
还好WINDOWS提供了一个PATH环境变量,他的作用就是现在这个变量的值路径中去找,如果找到了要运行的EXE就运行,否则失败。如果我们把JAVA里的bin目录这个路径赋给path那么下次我在运行java这个命令的时候,即便是直接输入DOS也能够在path变量中找到JAVA的bin目录下的java指令了。
怎样在java中定义path变量
1. PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
新版的软件,classpath好像都没有什么用了,因为在安装的时候已经选了JDK而且可以添加
3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclip/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
配置方式:
JAVA_HOME 指向的是JDK的安装路径,如C:\jdk1.5.0_06,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点
JAVA_HOME=C:\jdk1.5.0_06
PATH=%JAVA_HOME%\bin;%PATH%;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
java环境变量中%%和path的作用是什么?
作用如下:%%可以调用windows系统的其它环境变量,使你定义的一旦变量更直观,使用 %变量名%来调用。
比如你定义了一个环境变量JAVA_HOME=C:\java\bin作为java的执行目录。
那么你在其它环境变量里面要用到%JAVA_HOME%来代替C:\java\bin。
path的作用就是你在path里面定义了一个目录,,你在命令行里面不用输出完整的目录名,直接输入可执行程序和文件名就可以执行了,你输入命令的时候,系统会在path定义的目录下面去寻找你输入的命令。
JAVA中path和classpath具体是什么意思?
首先得了解操作系统中的环境变量
环境变量
环境变量相对于给系统或用户应用程序设置的一些变量, 具体起什么作用这当然和具体的环境变量相关. 象path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到那些目录下去找; 再象tc或bc++中, t include=path1;path2; 是告诉编译程序到哪里去找.h类型的文件; 当然不仅仅是指定什么路径, 还有其它的作用的, 象 t dircmd=/4 设置一个环境变量的作用是在使用dir命令是会把/4最为缺省的参数添加到你的dir命令之后, 就象你的每个命令都加了/4参数, 它实际上是给命令解释程序command设置的一个环境变量还是给dir这个内部命令设置的。
DWORD GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize), 参数lpName是你要求查询的环境变量的名, lpBuffer是返回你所指定的环境变量的值的, dSize是告诉这个函数lpBuffer可以存放多少个字节.
其次就是你的问题
Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。
JAVA_HOME指向的是JDK的安装路径,如x:\JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步骤和以后的应用你都要受累了,呵呵。设置方法:
JAVA_HOME=x:\JDK_1.4.2
PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%\bin
(注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成x:\JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo
%JAVA_HOME%来看一下你的设置结果) :
PATH=%JAVA_HOME%\bin;%PATH%
同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。
CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",如果你看不清,我给你念念——句点反斜杠分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的)
,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:)
这个是由java语言的import机制和jar机制决定的,你可以查资料解决。
呵呵,具体的设定方法: win2k\xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。
win9x用户修改autoexec.bat文件,在其末尾加入:
t JAVA_HOME=x:\JDK_1.4.2
t PATH=%JAVA_HOME%\bin;%PATH%
t CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar