javac

Samson Bruce 2009-08-08 11:40:05
D:\>javac -verbose HelloWorld.java
[解析开始时间 HelloWorld.java]
[解析已完成时间 140ms]
[源文件的搜索路径: [., C:\Program Files\Java\jdk1.5.0_05\lib, D:\]]
[类文件的搜索路径: [C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar, C:\Progra
m Files\Java\jdk1.5.0_05\jre\lib\jsse.jar, C:\Program Files\Java\jdk1.5.0_05\jre
\lib\jce.jar, C:\Program Files\Java\jdk1.5.0_05\jre\lib\charsets.jar, C:\Program
Files\Java\jdk1.5.0_05\jre\lib\ext\dnsns.jar, C:\Program Files\Java\jdk1.5.0_05
\jre\lib\ext\localedata.jar, C:\Program Files\Java\jdk1.5.0_05\jre\lib\ext\sunjc
e_provider.jar, C:\Program Files\Java\jdk1.5.0_05\jre\lib\ext\sunpkcs11.jar, .,
C:\Program Files\Java\jdk1.5.0_05\lib, D:\]]
[正在装入 C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar(java/lang/Object.clas
s)]
[正在装入 C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar(java/lang/String.clas
s)]
[正在检查 HelloWorld]
[正在装入 C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar(java/lang/System.clas
s)]
[正在装入 C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar(java/io/PrintStream.c
lass)]
[正在装入 C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar(java/io/FilterOutputS
tream.class)]
[正在装入 C:\Program Files\Java\jdk1.5.0_05\jre\lib\rt.jar(java/io/OutputStream.
class)]
[已写入 HelloWorld.class]
[总时间 546ms]

我想问的是,源文件搜索路径有必要吗?javac必须是绝对路径的。或者说我根本对这里的搜索源文件路径就理解错了。
还有类搜索路径为什么会比win 环境变量立的classpath里多了一些,这些我想应该是jdk自己加进去的吧。我就想它为什么不显示写在classpath里。我总觉得它应该是写在哪里了。
希望各位好心赐教!先谢过了!
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
samihyypia 2009-08-08
  • 打赏
  • 举报
回复
Java 启动器 java 将初始化 Java 虚拟机。虚拟机随即按以下顺序搜索和加载类:

自举类 - 构成 Java 平台的类,包括 rt.jar 和 i18n.jar 中的类。

扩展类 - 使用 Java 扩展机制的类。它们被捆绑为 .jar 文件,位于扩展目录中。

用户类 - 开发人员和第三方定义的类,不使用扩展机制。在命令行上使用 -classpath 选项(常用方法)或使用 CLASSPATH 环境变量可识别这些类的位置。

筱伟 2009-08-08
  • 打赏
  • 举报
回复
当然有了!
Samson Bruce 2009-08-08
  • 打赏
  • 举报
回复
对于这个问题我觉得我自己已经搞懂了。执行javac的时候[源文件的搜索路径: [., C:\Program Files\Java\jdk1.5.0_05\lib, D:\]] 的作用是寻找源文件,什么时候会寻找源文件呢?比如说你要编译的类A继承了类B可类B此时还没有被编译,那么在编译A前会去找到B并且把它编译。这里的源文件搜索路径就是和classpath属性的值是一样的。

类文件的搜索路径 这个就如2楼所说。

62,614

社区成员

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

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