OracleConnectionBuilderImpl 与 java.sql.ConnectionBuilder 不兼容

问题描述 投票:0回答:1

我之前问过这个问题,但实际上并没有得到任何结果。我停了一会儿,然后回来尝试让它发挥作用。我正在我们的存储库上从 Java 8 升级到 Java 11,当尝试运行 mvn install 时,出现此错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project <project>: Compilation failure
[ERROR] <project>.java:[15,8] createConnectionBuilder() in oracle.jdbc.datasource.impl.OracleDataSource cannot implement createConnectionBuilder() in javax.sql.DataSource
[ERROR]   return type oracle.jdbc.datasource.impl.OracleConnectionBuilderImpl is not compatible with java.sql.ConnectionBuilder

我已经搜索了所有关于这可能是什么的信息,我得到的唯一真实的信息是 ojdbc8 可能是错误的版本。我将 pom.xml 更新为最新版本的 OJDBC8 (19.3.0.0 -> 23.3.0.23.09):

<dependency>
  <groupId>com.oracle.database.jdbc</groupId>
  <artifactId>ojdbc8</artifactId>
  <version>23.3.0.23.09</version>
</dependency>

这是错误引用的类,我看不到任何可能存在问题的地方,因为 Java 8 上没有问题,而且代码本身似乎很好:

import oracle.jdbc.pool.OracleDataSource;
import org.springframework.security.crypto.encrypt.Encryptors;

import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
import java.util.logging.Logger;


public class MtDataSource extends OracleDataSource {

    public MtDataSource() throws SQLException {
        super();
    }
}

我没有找到 oracleDataSource 与 CreateConnectionBuilder 之间的任何链接,这些链接会从 javax.sql.DataSource 或 java.sql.ConnectionBuilder 绑定回此类。

寻求任何建议,因为我完全不知道导致编译问题的原因。谢谢!

我尝试过在pom.xml中尝试不同版本的OJDBC8,尝试过不同版本的maven-compiler-plugin,尝试过安装前清理。

java maven ojdbc
1个回答
0
投票

请使用 ojdbc11.jar 而不是 ojdbc8,那么它就可以正常工作,只需在 pom.xml 中将工件 id 从 ojdbc8 更新为 ojdbc11 即可。

© www.soinside.com 2019 - 2024. All rights reserved.