首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

javac 容易命令引出的回顾

2012-09-09 
javac 简单命令引出的回顾http://stackoverflow.com/questions/10812857/how-to-create-a-package-in-java

javac 简单命令引出的回顾
http://stackoverflow.com/questions/10812857/how-to-create-a-package-in-java
这上面的一个问题,有点费解,如果我在d:test目录下先编译Child.java然后再编译Parent.java,之后运行Parent为什么会有错误呢?
test下 \test>javac A.java   找不到B
d盘下   >javac test.A.java  javac: 找不到文件: test.A.java
d       javac A.java        javac: 找不到文件: A.java

javac找文件是根据classpath配置的路径,(如果直接配.则是当前路径)+包路径+类名,找某个类文件是通过操作系统的文件检索来做的,所以不要出现javac test.A.java这种形式。
在test目录下直接javac A.java 找不到B的原因: javac如果用到其他类文件并且没有显式引入,会根据classpath路径+本包名+文件名.class | .java ,这样很自然就找不到B了。
所以可以再D:\>javac test\A.java 这样两个文件都会被编译。
显式命令行中文件系统查找,其他又是java的方式查找。

javac -classpath 这个命令有点奇怪,为什么都已经配置了classpath后面源文件还要写全路径名呢?

热点排行