[RESOLVIDO] Problema Jboss 6 + Ireport 4.0.2

8 respostas
A

Pessoal,

alguem teve esse problema com jboss 6 e tentar abrir um jasper. Primeiro eu tive esse erro

java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException

e entao adicionei o jar do groovy 1.8, so que quando adiciono esse jar, o jboss nem sobe mais e da o seguinte erro

[ClassLoaderManager] Unexpected error during load of:groovy.jmx.builder.package-info: java.lang.ClassFormatError: Illegal class name "groovy/jmx/builder/package-info" in class file groovy/jmx/builder/package-info

obrigado

8 Respostas

dreampeppers99

tá cheirando versões distintas entre o Groovy 1.8 e o JBoss (na versão que tú usa).

leoramos

Podes estar com dois jar do groovy também.
Agora, uma pergunta: tu tá mesmo usando groovy no teu relatório?

A

entao cara,

eu não to usando groovy no projeto não, mas quando vou executar o relatorio, fala que está faltando essa classe do groovy.

segue o codigo do relatorio

public static void imprimir(String reportUrl, Map<String, Object> parametros){
		FacesContext facesContext = FacesContext.getCurrentInstance();
		
		HttpServletRequest request = (HttpServletRequest) facesContext.getExternalContext().getRequest();
		HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
		OutputStream os = null;
		
		try {
			String reportUrlReal = request.getSession().getServletContext().getRealPath("relatorio" + File.separator + reportUrl);
			
			JasperPrint jasperPrint = JasperFillManager.fillReport(reportUrlReal, parametros);
			byte[] pdf = JasperExportManager.exportReportToPdf(jasperPrint);
			
			os = response.getOutputStream();
			response.setContentType("application/pdf");
			response.setContentLength(pdf.length);
			response.setHeader("Content-disposition","attachment; filename=\""+ reportUrl.substring(0, reportUrl.length() - 7)+ ".pdf\"");
			os.write(pdf);
		} catch (Exception e) {
			e.printStackTrace();
		} finally{
			try {
				if(os != null){
					os.flush();
					os.close();
				}
				facesContext.responseComplete();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
leoramos

Ah, se não tá usando, tá aí teu problema.
Entra no relatório, vai nas propriedades dele.
Lá tem language, tá setado como groovy (vem como padrão essa #$#$%#$). Muda pra Java e era isso.
Abraço!

dreampeppers99

:shock:

A

valeu leoramos, era isso… :?

leoramos

Cara, é a coisa mais comum do mundo isso aí hehe
Vem por padrão no iReport, sei lá por que cargas d’água.
Só edita o título do tópico lá, daí :wink:
Valeu!

A

ja mudei,

vlw cara…

Criado 18 de julho de 2011
Ultima resposta 19 de jul. de 2011
Respostas 8
Participantes 3