Hy, I have these classes: public class Person { private String name; private List phones; getters and setters.... } public class Phone { private String number; getters and setters.... } I want to get a list of Person objects and send them to the jasperreport; I want it to show for each person name his phones. I have created a subreport inside the main report to show the phones. So I have two declarated fields in the main report: name as String object and phones as java.util.List, is this right?. If I open the subreport I have declarated as data source the next : "new JRBeanCollectionDataSource($F{phones})", is right? If I open the subreport I have one declarated field: number as String object, is right? So I have the main report "contacts.jrxml" and the subreport "phones.jrxml" in the same directory. But every time I try to generate the jasperreport like a pdf file, I get the next error: net.sf.jasperreports.engine.JRException: Could not load object from location : c:/.............phones.jrxml. I have a paremeter fo the jasperrepot to indicate what is route to find the subreport. Here is my java code to indicate it: File reportFile = new File(request.getSession(true).getServletContext().getRealPath( "/WEB-INF/reports/phones.jrxml")); HashMap params = new HashMap(); params.put("SUBREPORT_DIR",reportFile.getParent()+"\\"); The value of the SUBREPORT_DIR in the jasperreport is: $P{SUBREPORT_DIR}+"phones.jrxml" I tried many things changing the route of the subreport, changing the value of SUBREPORT_DIR so, the error is because its not finding the subreport or because there is an error in the main report or the subreport? Thanks a lot