I just found out the problem after trying a few days. My report did not work due to an incompatibility issue. But since I did not use
JasperPrint jp = JasperFillManager.fillReport(jr, param, new JREmptyDataSource()); 
instead
 JasperPrint jp = JasperFillManager.fillReport(jr, param); 
Yes. JDK 8 is compatible with JasperReports 6.
JasperReports does not have enough community support, I had to figure it out myself. Anyway, I suggest significantly improving the JasperReports library.