classpath包含当前路径,为什么java运行时必须强制全路径到jar包
我刚开始学java,使用cmd环境学习编译运行,这一次在进行oracle数据库的连接实验,情况是这样的:
Java文件的路径为c:\javawork\testoracle\JDBC_Connection.java
oracle11g数据库驱动位于同一目录,即c:\javawork\testoracle\ojdbc6.jar
cmd工具在该目录当前路径,此时,编译javac JDBC_Connection.java成功
运行java JDBC_Connection失败,提示找不到“oracle.jdbc.driver.OracleDriver”,即找不到oracle驱动程序
之后改为java -cp ojdbc6.jar JDBC_Connection运行成功。
那么问题来了,我的classpath环境变量里已经包含了当前路径,理论上来讲不加-cp也会检索当前路径下的jar包,我加了-cp不过是全路径到该jar包。不明白这是为什么?
新手望不吝指教,谢谢!