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" .

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

softboysxp

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值