今天学习Aspectj,但是涉及到了设置path 和classpath的知识,但是自己很可惜也毫无遗憾地遗忘了这些知识点,于是我又重新将他们捡起来,转这篇博文也是为了堤防自己再次遗忘.加油!
感谢原文作者的用心编写!
原文链接:http://jingyan.baidu.com/article/9f7e7ec05bb0ca6f281554c1.html
http://blog.youkuaiyun.com/cheney521/article/details/8672066(这一篇是关于classpath详解的)
简单地说下:
path:这个系统本身就拥有的,是一个全系统的地址,也就是说把bin文件放到这里后,无论你在哪里运行该文件都是没有问题的.
JAVA_HOME:这个需要我们在系统变量里自己创建,用来配置文件地址,把文件的最大路径放到这里目的是为了以后文件搬家后又得去频繁地更改path,一旦改错了,头就大了.
classpath:这是一个存放编译后的文件.class,无论你在哪里运行该文件都是没有问题的.
以上三者具体设值方式
1.JAVA_HOME=C:\jdk1.5.0_06
2.PATH=%JAVA_HOME%\bin;%PATH%
3.CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
-
安装jdk:
在桌面上找到我的电脑,右击鼠标选择->属性,->高级->系统变量
在系统变量里点击新建:
在变量名填写:JAVA_HOME
在变量值填写:C:\Program Files\Java\jdk1.6.0_07
-
然后配置path;在环境变量里找到path。点击编辑。在变量值里添加“%JAVA_HOME%\bin;”如下
在把jdk安装到计算机中之后,我们来进行设置使java环境能够使用。 首先右键点我的电脑。打开属性。然后选择“高级”里面的“环境变量”,在新的打开界面中的系统变量需要设置三个属性“JAVA_HOME”、“path”、“classpath”,其中在没安装过jdk的环境下。path属性是本来存在的。而JAVA_HOME和classpath是不存在的。
-
配置JAVA-HOME:
一:点“新建”,然后在变量名写上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\tools.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的目的:
设置JAVA_HOME:★为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;★归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃!★第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题.
-
设置CLASSPATH:
这是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子: 你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:\"), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:\"再运行java A, 看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件!
-
设置PATH:
道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.)
-
在d盘建一个文件夹jv
-
在此文件夹里建一个Hello.java。代码如下:
public class Hello
{
public static www.gzlij.com void main(String[] args)
{
System.out.println("你好啊!世界,哈哈");
}
}
在cmd里做如下运行
JAVA_HOME: C:\Program Files\Java\jdk1.6.0_07
path:%JAVA_HOME%\bin;
classpass:
12.关于classpath设值
CLASSPATH 环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".;",如果你看不清,我给你念念——句点分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的) ,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。
为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:) 这个是由java语言的import机制和jar机制决定的,你可以查资料解决。
具体的设定方法: 右键点击我的电脑->属性->高级->环境变量,修改下面系统变量(而非用户变量)那个框里的值就行了。
JAVA_HOME=C:\jdk1.5.0_06
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar