从Java 8更新到Java 11时找不到java.sql.Connection的类文件错误

问题描述

我正在将基于Java 8 Gradle模块的项目升级到Java11。这是看到错误的类结构:

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.sqlClientInfoException;
import java.sql.sqlException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.jdbc.ScriptRunner;

public class someclass{
    public someclass(Connection conn) {
        setConnconnection(conn);
    }
    
    public Connection getConnection() {
        return m_conn;
    }

    public void setConnconnection(Connection conn) {
        m_conn = conn;
    }
    
    public void populateDefault() throws ConfigurationException {
        
        <... some lines ...>
    
        ScriptRunner sr = new ScriptRunner(m_conn);
        sr.setAutoCommit(true);
        sr.setStopOnError(true);
        sr.runScript(<script>);
    }
    
    private Connection m_conn;
}

gradle build上,我收到错误消息:

error: cannot access Connection
               ScriptRunner sr = new ScriptRunner(m_conn);
                                 ^
 class file for java.sql.Connection not found

此模块的module-info.java是

open module somemodule {
    requires java.sql;
    requires org.slf4j;
    requires org.apache.ibatis;
    requires org.xerial.sqlite;
    < other req>
}

我看不到此错误的原因。任何见解都将非常有帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)