ATH 与 CLASSPATH

设定 path 是告诉系统, 执行档程式位于什麽地方
主要是在执行 javac 跟 java 这两个程式时使用的
也就是当你在命令列打入 javac xxx.java 和 java xxx 时
系统要去那裡找 javac 和 java 这两个执行档

设定 classpath 是告诉 Java
要使用或执行的 class 档所在的路径
比如说: 我们输入 "java A" 命令 要求 Java 执行 A.class 这个类别档时
Java 会由 classpath 所设定的路径位置开始寻找 A.class
所以如果你没有设定, 那 Java 就会跟你说他找不到
就算你是在 A.class 所在的路径执行这个命令
也要在 classpath 裡面跟 Java 说 要到目前所在的路径寻找 A.class
否则 Java 还是找不到的
另外 如果 A.class 裡面用到 B.class 时
在 classpath 设定中也要包含 B.class 所在的路径

在较新版本的 SDK 中
并不需要在 classpath 裡面设定 SDK 原有的 class 档或 jar 档路径
程式已经将路径预设好了
你只需要设定额外的类别档路径就可以了

设定如下:

在 Windows 95/98 平台中

设定的方法为 用文字编辑器 (如小作家, notepad 等等)
编辑 c:\autoexec.bat
在裡面加入
SET PATH=C:\jdk\bin\
SET CLASSPATH=.;C:\java\class\;C:\java\jar\b.jar

如果这个档案裡面原来就有 SET PATH 或 SET CLASSPATH
那就将路径加在原来那行后面 并用 ; 隔开
( 在 J2SDK1.3 版之后的 Windows 版本
如果 CLASSPATH 没有设定的话
Java 会预设为 CLASSPATH=.;
如果你有设定 则以设定的为主)

如果不设定
则可以用
c:\> c:\jdk\bin\java -cp c:\java\class\;c:\java\jar\b.class;c:\java\test\ xxx
来执行

设定好之后就可以简化成
c:\> java xxx

在 Linux 底下
若路径为
/usr/local/java/bin/java
/usr/local/java/bin/javac
/usr/local/class/a.class
/usr/local/jar/b.jar
/home/test/java/xxx.java
/home/test/java/xxx.class

则需在 /etc/profile (所有帐号共用) 加入
PATH=/usr/local/bin/:$PATH
CLASSPATH=./:/usr/local/class/:/usr/local/jar/b.jar
export PATH CLASSPATH

PS:
1. 以上设定好之后, 最好重新开机, 或重新登入,
反正就是要系统重新执行这个档案
2. = 号两侧不可以有空白
3. Java 是会区分大小写的, 不要把类别档的大小写 写错了
4. 设定中的 . 是代表使用者目前所在目录

安装其他套件之 ClassPath 设定

一般来说 当下载新的套件时
需要将新套件的路径设定到 CLASSPATH 中
比如说
下载 JavaMail 裡面有 mail.jar 放在
c:\javamail\mail.jar 或是 /usr/local/javamail/mail.jar
那原来的 CLASSPATH 后面就要加上
;c:\javamail\mail.jar 或是 :/usr/local/javamail/mail.jar

还有要注意的是
如果安装的是 server
如 JServ 或 Tomcat 这一类的程式
那也要把原来 classpath 设定的路径
写入到 Jserv 或 Tomcat 这些程式的设定档中
这样这些 server 才知道要去哪裡找 class

 

posted @ 2017-03-23 14:06  欣欣王子  阅读(124)  评论(0)    收藏  举报