JDK路径设置全解

在CSDN论坛里, 经常碰见有人问JDK的路径设置问题, 这里系统讲一下, 希望对新手有些帮助

经常有人问: "我用javac编译过了, 为什么用java执行的时候出现 java.lang.NoClassDefFoundError ?"
这就是环境变量设置的问题.

首先先澄清一个概念, java.exe接受的参数是类名, 而不是文件名, 我见过有人用 "java Hello.class" 来执行程序, 当然会出错.

那么, java是如何知道在哪里加载类呢?
这就是CLASSPATH环境变量的作用了, java会搜索CLASSPATH变量以及 -cp 和 -classpath 参数制定的所有目录(包括.jar和.zip文件中的目录), 找到对应的类. 每次指定 -cp 参数是很麻烦的, 因此一般设定CLASSPATH 环境变量.

在 Windows 2000 / XP / .Net Server 中, 进入"系统属性--高级--环境变量", 新建环境变量名为CLASSPATH, 值为 ".;C:/JDK1.5/lib/dt.jar;C:/JDK1.5/jre/lib/rt.jar"
其中, "." 代表当前目录, rt.jar是最基本的Java运行库, dt.jar是辅助开发工具库

另外, 为了使用方便, 还可以在PATH变量中加入 C:/JDK1.5/bin, 这样运行javac.exe 和 java.exe 就不用加上完整的路径名了.

这里C:/JDK1.5是我的JDK路径, 请更改为你自己对应的路径. 而且, 一般我们会添加一个JAVA_HOME变量, 设置为JDK路径, 因为 Tomcat, Ant 等不少 Apache 项目都会要求此变量.

在安装了ant等Java工具, 库等后, 一般按照说明在CLASSPATH中加入对应的运行库以方便运行


最后还有一个小问题, 关于含有包的类的调用, 应在包的顶目录调用java, 而不是具体类的目录.
比如 C:/test/com/softboys/HelloWorld.class 这个类, 应该在C:/test下调用 "java com.softboys.HelloWorld" 而 不是在 C:/test/com/softboys/ 调用"java HelloWorld" .

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值