所以我一直在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;
因此,经过一些研究和许多新问题,我想我已经找到一个简单的解决方案:
implementation 'net.sf.jasperreports:jasperreports:6.12.2'
implementation 'net.sf.jasperreports:jasperreports-fonts:6.12.2'
requires jasperreports;
implementation 'com.lowagie:itext:2.1.7'
我希望它可以帮助我以外的人!