学了快一年 java,今天才弄明白设置classpath的作用

nmyangym 2012-01-11 04:48:06
学了半天 java,今天才弄明白设置classpath的作用, 及每次编java程序时, 引入那些类,究竟在哪里了. 散点分!
...全文
290 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
脉动 2012-01-12
  • 打赏
  • 举报
回复
jf...
草上飞 2012-01-12
  • 打赏
  • 举报
回复
进来学习一下
nmyangym 2012-01-12
  • 打赏
  • 举报
回复
1 我们用的JDK中的包与类主要在安装目录下的jre\lib\rt.jar中,虚拟机会自动找到这个jar包,所以不需要用classpath指定。安装完java 后设置classpath,只需要加".;"即可。主要是告诉虚拟机去从当前目录找自己编译的class文件。
2 如果要使用另外打成jar包的类文件,一定要在classpath里加上这个jar文件的路径(含文件名!)。比如,mysql-connector-java-5.1.18-bin.jar这个jar包在"C:\Program Files\Java\jdk1.6.0_10\lib\"目录下,那么classpath要这样:
"C:\Program Files\Java\jdk1.6.0_10\lib\mysql-connector-java-5.1.18-bin.jar;" 仅仅指定"C:\Program Files\Java\jdk1.6.0_10\lib"是不行的。
3 如果不是用jar包的形式,而是class文件,那就直接在classpath里指定文件所在目录就可以了。
4 java类加载一定是从classpath路径去找的。(除了jre\lib\rt.jar之外).不会从当前路径找起。想让虚拟机从当前目录找起,就要象"1"那样,在classpath里加上".;".

我看有的人说安装完后要设置classpath成这样:C:\Program Files\Java\jdk1.6.0_10\lib,我原以为是告诉rt.jar这个包的位置,现在看根本不是。现在还不知道有什么用。
以上为个人的粗浅理解。
wjsq0705 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 wolf863292 的回复:]

接分接分
[/Quote]
+1
txenergy 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 nmyangym 的回复:]
java 加载的各种类其实在%JAVA_HOME%jre\lib\rt.jar 里.而这个是不需要设置 classpath 的.(张孝祥)而不是在%JAVA_HOME%\lib里的.(有的书上这样讲.).
[/Quote]
配置JDK是吧。
wolf863292 2012-01-12
  • 打赏
  • 举报
回复
接分接分
Acesidonu 2012-01-12
  • 打赏
  • 举报
回复
友情接分
qybao 2012-01-12
  • 打赏
  • 举报
回复
jfjf...
oO临时工Oo 2012-01-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 believefym 的回复:]

jf。。。
[/Quote]

+1
nmyangym 2012-01-11
  • 打赏
  • 举报
回复
java 加载的各种类其实在%JAVA_HOME%jre\lib\rt.jar 里.而这个是不需要设置 classpath 的.(张孝祥)而不是在%JAVA_HOME%\lib里的.(有的书上这样讲.).
nmyangym 2012-01-11
  • 打赏
  • 举报
回复
我想清楚了,再恢复.
nmyangym 2012-01-11
  • 打赏
  • 举报
回复
我表达不是很清楚,我是在安装mysql时发现的这个问题.

也谢谢大家的关注1
  • 打赏
  • 举报
回复
慢慢还会学到更多,最好可以自己总结下~有空就返回来看看
nmyangym 2012-01-11
  • 打赏
  • 举报
回复
1  classpath 只需要设置当前目录,就是说".;"
  这个是自己编程的默认目录.自己 编的程序都在这里.
   好多书上说,要在classpath 里加上%JAVA_HOME%\lib; 这都没用.
   java 加载许多类都是在%JAVA_HOME%\jre\rt.jar下,这是JDK 安装的默认.
2 有的人讲 安装java 后设置classpath %JAVA_HOME%lib\jre;
这是对的. 
而设置classpath %JAVA_HOME%lib; 就错了.这个没用.

wsyangzuda 2012-01-11
  • 打赏
  • 举报
回复
设置不了classp 等于认识不了路回家
WuBill 2012-01-11
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ckyz111 的回复:]
同楼上,给别人讲清楚才不容易
[/Quote]
是啊
ljfolo59 2012-01-11
  • 打赏
  • 举报
回复
明白了可以把楼主学习到的知识分享给大家呵
etracer 2012-01-11
  • 打赏
  • 举报
回复
给我讲清楚更不容易,
ckyz111 2012-01-11
  • 打赏
  • 举报
回复
同楼上,给别人讲清楚才不容易
aotian16 2012-01-11
  • 打赏
  • 举报
回复
明白了可以讲讲
加载更多回复(1)

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧