⑴ java中PATH和CLASSPATH的区别与配置
java中PATH和CLASSPATH的区别与配置
path:用 来指定 java 虚拟机(JVM) 所在在目录,也就是我们最常用的用来编译java源程序的javac.exe 和用来执行 *.class 文件的 java.exe 这两个命令。以我的机器为例吧:我的 jdk 按装目录为 D:/jdk1.5.0_08(确切的说我的这个JDK不是安装版本的,直接解压到 d:/ 下的 ,此时我的 path 就要这样设 path=D:/jdk1.5.0_08;D:/jdk1.5.0_08/bin;),设置好了后就可以在命令行中输入 javac , 与 java 命令了,如果这时能打印出命令的 help 文档就说明 path 设置正确了。
classpath:用 来指定我们自己所写的或要用到的类文件(.jar文件) 所在的目录,这里有一个小情况:比如我的classpath一开始没有设定,而我的java类文件所在的目录为: d:/javalesson/lesson1 这个文件夹中,此时我把我的命令行窗口所在的目录设置为 d:/javalesson/lesson1(也就是我的类文件所存放的目录) ,这时如果运行某个 .class 文件是一定能找到的。这时我开始设置 classpath 这个目录,比如我设置为 classpath=c:/abc 这个目录,这时我的命令行窗口所在的目录没修改仍然为: d:/javalesson/lesson1 (也就是我的类文件所存放的目录,没有改变) , 再运行 java 时就会发生 找不到某某类这样的错误,这是因为你只要设置了 classpath 这个环境变量系统就不会再在当前目录下查询某个类了,所以会发生某某类找不到这样的错误,如果你要既要让系统在 classpath所指定的目录中去找某个类,又要让系统在当前目录下查询某个类,这时你只要让你的 classpath 中多一个 “.” 就可以了,例如:classpath=c:/abc;. 这时你的目录即使在d:/javalesson/lesson1 ,也会找到类文件的。
配置:系统变量是环境变量的一种,环境变量一种仅本用户适用,另一种即系统变量整个系统的用户都适用,两者都可以在使用应用程序时提供快捷.一般在编辑java文件或者C#文件时需要修改,设计到多个文件夹之间的切换时也可以根据自己的需要设置.
简单的说就是,如果设置系统变量和用户变量,都叫做设置环境变量,设置系统变量时,该系统的所有帐号的用户都可以使用,但是设置用户变量时,其他的帐号登陆时就不一定可以使用。 现在出来的jdk的最新版本为jdk1.7。
下面以java环境变量为例设置方法:
1、如果是Win95/98,在\autoexec.bat的最后面添加如下3行语句:
JAVA_HOME=c:\j2sdk1.4.1
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.;%JAVA_HOME%\lib
看好了CLASSPATH中第一个".",这个代表当前目录(现在95,98用的很少了吧)
2、如果是Win2000或者XP,使用鼠标右击"我的电脑"->属性->高级->环境变量
JAVA_HOME=你JDK的根目录
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
path=%JAVA_HOME%\bin
CLASSPATH前面的那个"."和上面的意义是一样的。
3、如果是Linux用户
在你的环境中,通常我加在.bashrc文件中,你可以加在你的Profile文件中。
/usr/local/jdk 为你安装jdk的目录。
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
⑵ 如何用classpath编译java
classpath只跟java运行有关,跟编译无关,比如你在命令行运行一个.class文件 classpath就是指明.class文件的目录; 比如你有个 Hello.class文件在D盘,而你当前工作坏境在C盘,你要用java命令运行该文件:java classpath D:\Hello.class
⑶ java classpath 如何设置
最简单的方法是:
set path= D:javajdkin;然后再输入javac 看看。
⑷ 在Java程序设计中,设置环境变量path和classpath的作用分别是什么
path和classpath的作用分别是:
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的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
⑸ JAVA 的classpath
classpath指的是Java进行编译,运行时需要用到的jar包位置.
一般设置为classpath= ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"就可以了
注意是 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
最前面有个点,不要把点漏了。
下面是网上摘的一些比较好的讲解,希望对你有所帮助:
CLASSPATH环境变量。作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
CLASSPATH是什么?它的作用是什么?
它是javac编译器的一个环境变量。
它的作用与import、package关键字有关。
当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:\jdk\ 目录下,你得把c:\jdk\这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java\util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!
CLASSPATH有点像c\c++编译器中的INCLUDE路径的设置哦,是不是?当c\c++编译器遇到include <iostream>这样的语句,它是如何运作的?哦,其实道理都差不多!搜索INCLUDE路径,检视文件!
当你自己开发一个package时,然后想要用这个package中的类;自然,你也得把这个package所在的目录设置到CLASSPATH中去!
CLASSPATH的设定,对JAVA的初学者而言是一件棘手的事。所以Sun让JAVA2的JDK更聪明一些。你会发现,在你安装之后,即使完全没有设定CLASSPATH,你仍然能够编译基本的JAVA程序,并且加以执行。
⑹ java的环境变量classpath该怎么设置呢
java的环境变量classpath的设置方法:
1、在我的电脑界面,鼠标右键点击“此电脑”。
⑺ java中classpath如何配置
java中classpath的配置方法如下:
我的电脑(计算机)-右击属性-高级-环境变量-系统变量-新建JAVA_HOME,classpath,path
变量名
JAVA_HOME
变量值
D:\Program Files\Java\jdk1.6.0_10
变量名
classpath
变量值
;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
变量名
path
变量值
%JAVA_HOME%\bin;
jdk6以后的版本都不用再配CLASSPATH,而且也不建议去配。
理论上java安装完一个变量都不需要配置,只不过为了命令行敲起来方便,所以通常会把jdk/bin目录下加入到path变量中。
⑻ 关于java中的classpath
你好,不是输入classpath,正确如下
首先介绍一下环境变量的设置方法:(这里以jdk1.6来安装,其他版本一样)在把jdk安装到计算机中之后,我们来进行设置使java环境能够使用。
首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“JAVA_HOME”、“path”、“classpath”,其中在没安装过jdk的环境下。path属性是本来存在的。而JAVA_HOME和classpath是不存在的。
点“新建”,然后在变量名写上JAVA_HOME,顾名其意该变量的含义就是java的安装路径,呵呵,然后在变量值写入刚才安装的路径“C:/jdk1.6”。(注:
如果安装的路径不是磁盘C或者不是在jdk1.6这个文件夹,可对应修改。以下文字都是假定安装在C:/jdk1.6里面。)
其次在系统变量里面找到path,然后点编辑,path变量的含义就是系统在任何路径下都可以识别java命令,则变量值为“.;%JAVA_HOME%/bin”,(其中“%JAVA_HOME%”的意思为刚才设置JAVA_HOME的值),也可以直接写上“C:/jdk1.6/bin”
最后再点“新建”,然后在变量名上写classpath,该变量的含义是为java加载类(class or
lib)路径,只有类在classpath中,java命令才能识别。其值为“.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/toos.jar
(要加.表示当前路径)”,与相同“%JAVA_HOME%有相同意思”
以上三个变量设置完毕,则按“确定”直至属性窗口消失,下来是验证看看安装是否成功。先打开“开始”->“运行”,打入“cmd”,进入dos系统界面。然后打“java
-version”,如果安装成功。系统会显示java version jdk"1.6.0"。
确保安装在C盘文件名为jdk1.6,环境变量直接复制就可以了
,在dos界面中输入javac来查看该命令是否合法,同样输入java来查看该命令是否合法
这样环境变量就设置好了,下面进行对PATH,CLASSPTH,JAVA_HOME的讲解以下为置JAVA_HOME,CLASSPATH,PATH的目的:
1,设置JAVA_HOME:
一、为了方便引用,比如,你JDK安装在C:/Program Files/Java/jdk1.6.0目录里,则设置JAVA_HOME为该目录路径,
那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
二、归一原则,
当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全,
某个程序找不到JDK, 后果是可想而知的----系统崩溃!
三、第三方软件会引用约定好的JAVA_HOME变量, 不然,
你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.
2,设置CLASSPATH:
这是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子:
你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:/"), 执行java A,
将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:/"再运行java A,
看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件!
3,设置PATH:
道理很简单, 你想在任何时候都使用%JAVA_HOME%/bin/java 等来执行java命令吗, 当然不会, 于是, 你可以选择把
%JAVA_HOME%/bin添加到PATH路径下, 这样,
我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.)
======================错误案例NoClassDefFound:
当 Java 虚拟机或 ClassLoader
实例试图在类的定义中加载(作为通常方法调用的一部分或者作为使用new 表达式创建的新实例的一部分),但无法找到该类的定义时,抛出此异常。
问题出在你环境变量设置错误:
上述楼主把C:/Program
Files/Java/jdk1.5.0_11/lib/dt.jar;C:/Program
Files/Java/jdk1.5.0_11/jre/lib/rt.jar放在classpath的环境变量中是正确的