Oracle JDBC驱动找不到问题咨询:JDK17与ojdbc版本适配等疑问
JDBC连接Oracle 21c XE问题解答
1. ojdbc11.jar是否适配JDK17?
ojdbc11.jar是Oracle官方针对JDK11及更高版本推出的JDBC驱动,完全适配JDK17,版本匹配没有问题。
2. 仅配置系统环境变量CLASSPATH是否正确?
这种操作不正确:
- 现代Java项目(如Maven/Gradle管理的项目)会忽略系统级CLASSPATH,依赖由项目自身的依赖管理机制维护;
- 即使是普通Java SE项目,在IDE中运行时,IDE不会读取系统CLASSPATH,必须将ojdbc11.jar添加到项目的构建路径(Build Path)中;
- 如果用命令行运行,虽然CLASSPATH可能生效,但更可靠的方式是通过
-cp参数指定驱动路径,比如:java -cp .;ojdbc11.jar YourMainClass
3. 是否无需添加Class.forName("oracle.jdbc.driver.OracleDriver");?
属实。JDBC 4.0(对应JDK 6)及以上版本支持驱动的自动注册机制(SPI),驱动jar包中的META-INF/services/java.sql.Driver文件会让JVM自动加载Oracle驱动类,因此不需要手动调用Class.forName来注册驱动。
内容的提问来源于stack exchange,提问作者Jay.
相关产品推荐
相关产品推荐

