如何在带有OpenJDK11的IntelliJ IDEA中使用Jasper报表

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

所以我一直在JDK8(Netbeans 11.1和JavaFX 2)上使用Jasper Reports,一切都很简单。现在,我使用gradle(IntelliJ IDEA和JavaFX 14)从JDK8迁移到OpenJDK11,并且对Jasper Reports感到困惑。我尝试添加依赖项compile 'net.sf.jasperreports:jasperreports:6.12.2',并且jar文件已成功下载,但是当我进入代码并尝试导入必要的库时,我找不到它们。

这是我在JDK8中使用的代码(我认为在OpenJDK11中应该相同):

@FXML
public void print(ActionEvent actionEvent) {
        // My report
        JasperReport jreport = JasperCompileManager.compileReport("path\\to\\my\\report\\newReport.jrxml");

        // The data source to use to create the report
        JRBeanCollectionDataSource jcs = new JRBeanCollectionDataSource(list);
        JasperPrint jprint = JasperFillManager.fillReport(jreport, null, jcs);

        // Viewing the report
        JasperViewer.viewReport(jprint, false);
    }

这是我需要的库(即使下载了jar文件,也没有检测到net.sf):

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
java intellij-idea javafx jasper-reports openjdk-11
1个回答
0
投票

因此,经过一些研究和许多新问题,我想我已经找到一个简单的解决方案:

  1. 将此依赖项添加到gradle项目中(并构建它):
implementation 'net.sf.jasperreports:jasperreports:6.12.2'
implementation 'net.sf.jasperreports:jasperreports-fonts:6.12.2'
  1. module-info.java中添加requires jasperreports;
  2. 如果您运行您的项目,将出现关于iText2.1.7的异常,因此您需要做的就是添加此依赖项implementation 'com.lowagie:itext:2.1.7'
  3. [重建您的项目和Voilà!一切都应该正常工作。 (不要忘了在编码时导入库:D)

我希望它可以帮助我以外的人!

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