Java 11迁移-PoolDataSourceImpl中的createConnectionBuilder()与javax.sql.DataSource中的createConnectionBuilder()发生冲突 [英] Java 11 migration - createConnectionBuilder() from PoolDataSourceImpl clashes with createConnectionBuilder() from javax.sql.DataSource

查看:137
本文介绍了Java 11迁移-PoolDataSourceImpl中的createConnectionBuilder()与javax.sql.DataSource中的createConnectionBuilder()发生冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将项目从Java 8迁移到使用ojdbc的Java 11.我正在使用一个扩展PoolDataSourceImpl的类,该类实现了PooLDataSource,它扩展了javax.sql.DataSource,并且在尝试使用maven构建它时会出现以下错误:

I am trying to migrate a project from Java 8 to Java 11, which uses ojdbc. I am using a class which extends PoolDataSourceImpl, which implements PooLDataSource, which extends javax.sql.DataSource and while trying to built it with maven it gives this error:

编译失败 [错误] oracle.ucp.jdbc.PoolDataSourceImpl中的createConnectionBuilder()无法实现创建 javax.sql.DataSource中的ConnectionBuilder() [错误]返回类型oracle.ucp.jdbc.UCPConnectionBuilder与java.sql.ConnectionBuilder不兼容

Compilation failure [ERROR] createConnectionBuilder() in oracle.ucp.jdbc.PoolDataSourceImpl cannot implement create ConnectionBuilder() in javax.sql.DataSource [ERROR] return type oracle.ucp.jdbc.UCPConnectionBuilder is not compatible with java.sql.ConnectionBuilder

有人有什么建议吗?

推荐答案

问题是您尝试将PoolDataSourceImpl子类化,这是使用JDK8编译的特定于供应商的类,除非明确建议这样做,否则我们不支持扩展我们的类.因此,例如此博客;所有软件供应商都是如此. 作为此限制的一部分,我们的驱动程序(ojdbc8.jar,ucp.jar)与较新的JDK版本(即,可与JDK11一起使用)和数据库版本向前兼容.

The problem is that you try to subclass PoolDataSourceImpl which is a vendor-specific class compiled with JDK8 and we do not support extending our classes unless we explicitly suggest to do so, as in this blog; and this is true for all software vendors. A part from this restriction, our drivers (ojdbc8.jar, ucp.jar) are forward compatible with newer JDK releases (i.e., work with JDK11) and database releases.

这篇关于Java 11迁移-PoolDataSourceImpl中的createConnectionBuilder()与javax.sql.DataSource中的createConnectionBuilder()发生冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆