style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

JasperReport. Error en subreport con imagen.

Buenos dias.
Espero que me puedan ayudar con un problema que tengo. Estoy desarrollando un motor de informes con JasperReport 6. Todo va correctamente salvo los subreportes con imágenes. Lo que hago es crear un subreporte correspondiente a la cabecera de los documentos ya que esta es común a todos ellos y en caso de que cambie el logo o descripción es mejor cambiarlo solo en un subreport que no en todos los reportes. El caso es que cuando esta cabecera tiene una imagen con el logo, el reporte sale pero sin esta cabecera.
Los reportes están en un repositorio en el file system y son compilados por mi motor.
Las rutas a los subrepor e imágenes se componen con parámetros que son pasados antes de compilar. Si la imagen está en el reporte principal esta se inserta correctamente y los reportes salen correctamente pero si añado un subreporte con imagen estos no aparecen.

Alguna idea de que puede estar pasando?
La linea donde se inserta la imagen en el subreporte es:

Se declara el parámetro en el subreport.

<parameter name="IMAGEN_DIR" class="java.lang.String"/>

......
La imagen insertada en el subreportes:

<image scaleImage="FillFrame" hAlign="Center" vAlign="Middle" isLazy="true" onErrorType="Icon">
    <reportElement x="25" y="6" width="61" height="61" uuid="e6cb597a-eb5e-4fc8-92c2-1b6e1e6e4f71"/>
    <imageExpression><![CDATA["alerta.png"]]></imageExpression>
</image>

Para compilar tanto el reporte como los subreportes lo que se hace es:

JasperDesign jasperDesign = JRXmlLoader.load(sListado);
JasperReport jasperReport = JasperCompileManager.compileReport("nombredelreporte.jrxml");

JRSaver.saveObject(jasperReport, "nombredelreporte.jasper");

JRElementsVisitor.visitReport(jasperReport, new ListadoVisitor());

La clase ListadoVisitor es un inspector que se encarga de compilar los subreportes y el código es (pongo solo el método que interesa):

@Override
public void visitSubreport(JRSubreport subreport){
try {
String sNewSubReporte = "rutadelsubreport" + UtilReport.getNombreSinExtension(extractFilename(subreport)) + ".jasper";

log.debug("Se debe compilar ::: " + sNewSubReporte);

String jasperFile = JasperCompileManager.compileReportToFile(UtilReport.getNombreSinExtension(sNewSubReporte) + ".jrxml");

if (new File(jasperFile).exists()){
log.info("El reporte ha sido generado con exito. " + jasperFile);
} else {
throw new RuntimeException("Error al generar " + jasperFile);
}

} catch (Throwable e) {
log.info("Error al compilar la cabecera ::: " + e);
}
}

Los parámetros una vez ha sido todo compilado se pasan de la siguiente manera:

ListadoFillExporter exporter = new ListadoFillExporter();
exporter.fillReportAndReturn(jasperReport, params, output, formato);

params es un Map donde se le pasa "IMAGEN_DIR" y la ruta absoluta de las imágenes.

El resultado es un pdf con el reporte principal pero sin el subreporte, sin traza de error ni warning

Gracias por adelantado y espero que me podáis ayudar.
Un saludo

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">