You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在IntelliJ中用JasperReport生成PDF报表时遇java.sql.Connection访问错误

解决Jasper Report运行时找不到java.sql.Connection的问题

我在IntelliJ Idea中使用Jasper Report开发PDF报表生成应用,运行时出现如下错误:

C:\Users\USER\IdeaProjects\Concrete Mix Design\src\main\java\com\example\concrete_mix_design\Controllers\MainController.java:1031:50
java: cannot access java.sql.Connection
class file for java.sql.Connection not found

已在pom.xml中添加Jasper Report的Maven依赖,核心代码如下:

public void printReport(ActionEvent actionEvent) throws FileNotFoundException, JRException, URISyntaxException {
    JasperReport jasperReport = getJasperReport();

    Map<String, Object> parameters = getParameters();

    JRDataSource datasource = new JREmptyDataSource();

    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, datasource);

    JasperViewer.viewReport(jasperPrint);
}

private Map<String, Object> getParameters() {
    Map<String, Object> parameters = new HashMap<>();
    return parameters;
}

private JasperReport getJasperReport() throws JRException {
    InputStream inputStream = this.getClass().getResourceAsStream("/JasperReport.jrxml");

    JasperReport jasperReport = JasperCompileManager.compileReport(inputStream);
    return jasperReport;
}

解决方案

  • 检查项目SDK配置:确保IntelliJ中项目使用完整JDK而非JRE。操作路径:File → Project Structure → Project Settings → Project,确认Project SDK为JDK版本(如openjdk-17)。
  • 模块化项目适配:若项目基于Java 9+模块化开发(存在module-info.java),需在文件中添加声明:
    requires java.sql;
    
  • 确认Maven依赖完整性:确保Jasper Report核心依赖正确引入,推荐使用最新稳定版:
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>6.20.0</version>
    </dependency>
    
  • 刷新Maven依赖:点击IntelliJ右侧Maven面板的「Reload All Maven Projects」按钮,确保依赖下载并导入完成。

内容的提问来源于stack exchange,提问作者Piapazi Randy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:53:25