java - 从 Java 8 更新到 Java 11 时找不到 java.sql.Connection 的类文件错误
问题描述
我正在将基于 Java 8 Gradle 模块的项目升级到 Java 11。这是出现错误的类结构:
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>
}
我无法看到此错误背后的原因。任何见解都会非常有帮助。
解决方案
推荐阅读
- ruby-on-rails - 在多个地方使用刺激控制器
- bash - 将变量从主脚本转移到从第一个脚本开始的不同 shell
- javascript - Vue排序数组后跟索引(0、1、2、3 ...)
- tensorflow - ImageDataGenerator 是如何工作的?
- jquery - 如何同时使用 Select2 作为可搜索的下拉菜单或文本框?
- python - 使用 super() 从多个类函数继承变量
- pyspark - 调用 o111.pyWriteDynamicFrame 时出错。awaitResult 中抛出的异常:
- python - 如何使用 Keras(增强、拆分)预处理我的 ImageDataset
- javascript - Plotly 错误:初始点击重置缩放 UI 状态
- arrays - Swift:将项目附加到数组时出现问题