作者TonyQ (骨头)
看板java
标题Re: [问题] CLASSPATH设了没用...
时间Mon Jun 25 00:01:30 2007
※ 引述《ericabab (ㄍㄠˊ)》之铭言:
: 喔喔所以是说 CLASSPATH 跟
: 用javac要编译 xxxx.java档根本没关系的意思罗
: 原来是我误会了...
: 谢谢所有帮我回答的大大
基本上不是没有关系啦,
不过你的问题应该不是classpath的问题.
────────────────────────────────
一般来说新手要设定好的环境变数就是 Path classpath
(JAVA_HOME有些时候也会用到,最好也设定一下.)
设定Path是可以让你在任何路径下,
都能够使用javac javadoc javaw等指令。
像你说在 JDK路径以外打javac就无法使用,
如果错误讯息是
'javac' 不是内部或外部命令、
可执行的程式或批次档。 (or bad command .... in dos)
很有可能就是Path没设定好的关系。
那classpath用途是干麻的?
因为我们一般来讲专案或者资料都不只一个.java档,
都是几十个class凑在一起用的,这时候很有可能会再写A class时
使用到B class的资料。
一般来讲我们至少会认为,
我A class使用B class的物件,
要编译的时候只要把B class放在 A class所在的资料夹下就可以了吧?
答案是:错!
这是在 classpath有设定包含 "." (当前目录) 的前提下才成立。
这真的是万年月经题了,我看到没有上百次也有几十次
NoClassDefFoundError是这样来的,
而且都会认为之前都可以操作,突然间就不行。
(通常不是之前是在已经设定好的环境下使用,是用预设 classpath为.的IDE.)
而且老是把被引用的B class搬来搬去也很麻烦吧?
所以我们就会把一些常用的套件放在 JDK的 lib资料夹下,
设定classpath的路径到lib资料夹,
万一我们有需要引用到那些class就很方便了.
另外除了环境变数以外,我们一般也可以透过 -cp 参数
手动在执行的时候设定classpath.
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *. ╯ ╯ ╯ の 物 语 .*
◥███████──────◣ ~ ◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼
*◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂
~telnet://tony1223.no-ip.info
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.134.27.68
※ 编辑: TonyQ 来自: 220.134.27.68 (06/25 00:03)
※ 编辑: TonyQ 来自: 220.134.27.68 (06/25 00:06)