JAVA中path和classpath具体是啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中path和classpath具体是啥意思?相关的知识,希望对你有一定的参考价值。

JAVA中path和classpath具体是什么意思?那位大侠告知一下,谢谢~!

首先得了解操作系统中的环境变量
环境变量
环境变量相对于给系统或用户应用程序设置的一些变量, 具体起什么作用这当然和具体的环境变量相关. 象path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到那些目录下去找; 再象tc或bc++中, set include=path1;path2; 是告诉编译程序到哪里去找.h类型的文件; 当然不仅仅是指定什么路径, 还有其它的作用的, 象 set 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文件,在其末尾加入:
set JAVA_HOME=x:\JDK_1.4.2
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
参考技术A path 路径,是java编译时需要调用的程序(如java,javac等)所在的地方
classpath 类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类。本回答被提问者采纳
参考技术B 需要调用的程序(如java,javac等)所在的地方
。一般是jdk的bin目录,例:
c:/program
files/java/jdk1.5.0_22/bin
classpath
类的路径,在编译运行java程序时,如果有调用到其他类的时候,在classpath中寻找需要的类或者理解为class文件的存放路径。
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(注,
,你写成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文件
索当前目录的,再搜索系统目录的,再搜索path环境变量设定的)
,所以如果喜欢盘根究底的朋友不妨研究一下linux。
这个是由java语言的import机制和jar机制决定的,你可以查资料解决。
呵呵,具体的设定方法:
win2k/xp用户右键点击我的电脑-属性-高级-环境变量,修改下面系统变量那个框里的值就行了。
参考技术C path 是虚拟机也可以说是J2SE工具的地址
classpath 是类库地址

classpath和path的区别

classpath和path的区别:意思不同、用法不同、侧重点不同

一、意思不同

1.classpath意思:路径;轨道

2.path意思:n. 路线;小路;小径;轨道;路程

二、用法不同

1.classpath用法:在句中可用作定语或表语。

例句:

Add this directory to the Java classpath and the system path. 

将该目录添加到Java类路径和系统路径。

2.path用法:基本意思是“小路”“小径”,常指人或牲畜走出来的路,相当于pathway或footpath,引申可指思想、行为和生活等“路线,路径,办事程序,办法”等,均用作可数名词。

例句:

We followed the path along the clifftops 

我们沿着悬崖顶上的小路走。

三、侧重点不同

1.classpath侧重点:表示抽象的。

2.path侧重点:表示客观存在的。

参考技术A 1.path的作用
path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行Java文件,但必须把完整的路径写出来,如C:\Program Files\Java\jdk1.6.0_10\bin\javac TheClass.java。path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径;而java的各种操作命令是在其安装路径中的bin目录下,所以在path中设置了JDK的安装目录后就不用再把java文件的完整路径写出来了,它会自动去path中设置的路径中去找;
2.classpath的作用
classpath是指定你在程序中所使用的类(.class)文件所在的位置,就如在引入一个类时:import javax.swing.JTable这句话是告诉编译器要引入javax.swing这个包下的JTable类,而classpath就是告诉编译器该到哪里去找到这个类(前提是你在classpath中设置了这个类的路径);如果你想要编译在当前目录下找,就加上“.”,如:.;C:\Program Files\Java\jdk\,这样编译器就会到当前目录和C:\Program Files\Java\jdk\去找javax.swing.JTable这个类;还提下:大多数人都是用Eclipse写程序,不设classpath也没关系,因为Eclipse有相关的配置本回答被提问者采纳

以上是关于JAVA中path和classpath具体是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

在Java程序设计中,设置环境变量path和classpath的作用分别是啥?

classpath和path的区别

配置java环境变量的作用是啥?

path是啥意思啊?

找不到逆向工程.java是啥原因

解释 eclipse .classpath 文件。 'kind="con"' 和 'exported="true"' 是啥意思?