Sub relatorio de segundo nível no Ireport

Galera
Estou com problemas no sub relatório. Vou explicar…
Tenho uma relatório principal que chama um sub-relatório e que por sua vez chama outro sub-relatorio.
Bom, o problema é que o último sub relatorio não é chamado, pois não é encontrando o arquivo. é alguma coisa com o caminho, pois se eu colocar o caminho completo na minha máquina ele funciona. Não sei qual é o problema já que o sub relatorio de primeiro nivel é chamado normalmente.

[color=green]Olá.

Você pode tentar resolver seu problema da seguinte forma:

No Java.

Criar um HashMap chamado parametros:[/color]

HashMap<String, String> parametros

[color=green]Aqui ele retorna a pasta relatorios, que se encontra na raiz do projeto:[/color]

parametros.put("SUBREPORT_DIR",getServletConfig().getServletContext() .getRealPath("/relatorios")+"/");

[color=green]No iReport

Criar um Parâmetro chamado SUBREPORT_DIR.

Acesse as Propriedades do Objeto que chama o primeiro SubRelatório.
Na aba Subreport(Other), altere o valor de SubReport Expression para:[/color]

$P{SUBREPORT_DIR} + "subrelatorio1.jasper"

[color=green]Ainda na mesma aba, adicione o parâmetro SUBREPORT_DIR para que o mesmo seja passado para o subrelatorio1.
Agora no segundo SubRelatório, você terá o parâmetro que retorna a sua pasta de relatórios, então basta seguir os mesmos passos do primeiro SubRelatório, e estará tudo certo.

Veja se isso pode lhe ajudar, qualquer dúvida, só perguntar, até.[/color]

Beleza funcionou
Mas como eu nao sei o caminho do diretorio em que o relatório se encontra no servidor, eu usei essa chamada
this.getServlet().getServletContext().getRealPath("/")+"/relatorio/subCapaManifestoNotas.jasper"
coloquei o resultado no map e funcionou.

muito obrigado