java文件编译路径问题

来源:互联网 发布:oracle数据迁移脚本 编辑:程序博客网 时间:2024/06/18 07:57
如果类B要引用到类A,那么如何在dos下编译:
package是用来组织类的,确保类的唯一性;classpath是提供给javac、java等工具使用的,用来查找加载相关需要的类;import是用来在类中导入相关类,提供一种简单的书写形式;如果B.java的package是aa.bb.cc,且编译后的b.class在f:\aa\bb\cc下,那么其classpath就是f:\ ,不在包aa.bb.cc下的其他类引用b.class,如A.java,就要这样aa.bb.cc.b 或 import aa.bb.cc.b 来使用b类,在编译A.java时需要指定类路径f:\ ,javac -cp .;f:\  a.java (其中的 .;  在JDK5+是可选的,它表是的是当前路径) .
再假设b.java没有package,那么在a.java中使用b类,无需import语句;但classpath就是f:\aa\bb\cc\;这样在编译a.java时指定类路径f:\aa\bb\cc,javac -cp .;f:\aa\bb\cc a.java.
归类就是:如果类指定了package,class文件就必须在package下,而classpath就是根包名所在路径;如上面指定b.java的package是aa.bb.cc,那么b.class必须在aa\bb\cc下,classpath 就是aa目录所在的路径f:\,编译其它使用了b类但不在包aa.bb.cc下的类 就需要告诉编译器b类的classpath . 
原创粉丝点击