Jasper com problema de export?

24 respostas
java
D

Esta dando erro ao tentar exportar.

public void geraPDParaOutputStream(OutputStream outputStream){
		
		try {
			JasperPrint jasperPrint = JasperFillManager.fillReport(this.nomeArquivo, this.parametros, this.connection);
		
		JRExporter exporter = new JRPdfExporter();
		
		exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
		exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
		exporter.exportReport();
		
	} catch (JRException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	
}

Erro:

Jul 29, 2016 4:01:28 PM org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/report] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ReferenceMap] with root cause

java.lang.ClassNotFoundException: org.apache.commons.collections.map.ReferenceMap

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1702)

at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)

at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.(JRAbstractJavaCompiler.java:73)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:823)

at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:380)

at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:467)

at net.sf.jasperreports.engine.fill.BaseReportFiller.(BaseReportFiller.java:152)

at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:244)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:69)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:57)

at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:200)

at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:215)

at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:84)

at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:286)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:759)

at com.ambra.report.utils.GeradorRelatorioUtil.geraPDParaOutputStream(GeradorRelatorioUtil.java:29)

at com.ambra.report.controlls.RelatorioController.form(RelatorioController.java:88)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)

at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)

at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781)

at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721)

at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)

at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)

at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

Estava procurando e achei este link, dai eu vi que pode ser falta do jasper la no maven. Eu tinha baixado o jar e tinha adicionado no class path.

peguei esse maven

<dependency>
		<groupId>net.sf.jasperreports</groupId>
		<artifactId>jasperreports</artifactId>
		<version>6.3.0</version>
</dependency>

O que pode ser?

24 Respostas

M

ele não esta achando classes ainda

java.lang.ClassNotFoundException: org.apache.commons.collections.map.ReferenceMap

pode ser isso

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.1</version>
</dependency>

Equanto tiver erros como esse, é fatal não vai funcionar

ClassNotFoundException

D

coloquei isso no maven, ainda da o mesmo erro. Estranho porque eu ja tinha o commons collections mas de outra dependencia.

oque + pode ser?

vou postar o pom.xml aqui

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.ambra</groupId>
	<artifactId>PosReport</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<dependencies>
		<!-- https://mvnrepository.com/artifact/net.sf.jasperreports/jasperreports -->
		<dependency>
			<groupId>net.sf.jasperreports</groupId>
			<artifactId>jasperreports</artifactId>
			<version>6.3.0</version>
		</dependency>

		<!-- https://mvnrepository.com/artifact/com.lowagie/itext -->
		<dependency>
			<groupId>com.lowagie</groupId>
			<artifactId>itext</artifactId>
			<version>2.1.7</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.jfree/jfreechart -->
		<dependency>
			<groupId>org.jfree</groupId>
			<artifactId>jfreechart</artifactId>
			<version>1.0.19</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/org.jfree/jcommon -->
		<dependency>
			<groupId>org.jfree</groupId>
			<artifactId>jcommon</artifactId>
			<version>1.0.17</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.8.0</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
		<dependency>
			<groupId>commons-collections</groupId>
			<artifactId>commons-collections</artifactId>
			<version>2.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-collections4</artifactId>
			<version>4.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-digester/commons-digester -->
		<dependency>
			<groupId>commons-digester</groupId>
			<artifactId>commons-digester</artifactId>
			<version>2.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
		<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
			<version>4.3.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>4.3.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate.javax.persistence</groupId>
			<artifactId>hibernate-jpa-2.1-api</artifactId>
			<version>1.0.0.Final</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>4.1.0.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.15</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.1.0.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-servlet-api</artifactId>
			<version>7.0.30</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp.jstl</groupId>
			<artifactId>jstl-api</artifactId>
			<version>1.2</version>
			<exclusions>
				<exclusion>
					<groupId>javax.servlet</groupId>
					<artifactId>servlet-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.glassfish.web</groupId>
			<artifactId>jstl-impl</artifactId>
			<version>1.2</version>
			<exclusions>
				<exclusion>
					<groupId>javax.servlet</groupId>
					<artifactId>servlet-api</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.6.1</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>1.6.1</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.6.1</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.16</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.5.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<warSourceDirectory>WebContent</warSourceDirectory>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>
M

Isso pode ser que tenha algumas dependências duplicadas, e a hora que o classLoader, vai ler lê primeiro em pacotes diferentes e methods diferentes.

Para analisar isso rode, usando o maven
dependency:tree

Ai analise as duplicadas, mesma lib, com varias dependências lib-1.0.java lib-1.1…java, deixe só a que for necessária para seu projeto

Outra dica para ver classes e lib duplicadas no projeto
pegue o nome da classe no eclipse

shift + ctrl + t e digite a classe com o pacote dela, depois com o nome vai ver que ela pode estar em dois pacotes diferentes isso é por causa de versões duplicadas.

D

retirei a classe duplicada agora, testei, e não esta dando + erro. Porem nao acho o relatorio

M
<dependency>
	<groupId>seu.grup</groupId>
	<artifactId>seu-artefato</artifactId>
	<version>1.2.0.0</version>
	<type>pom</type>
	<exclusions>
		<exclusion>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
		</exclusion>
	</exclusions>
</dependency>`
D

não entendi isso que voce mandou. Foi a saida do maven tree? como eu rodo isso? pelo cmd?

M

Isso que mandei é o que precisa para configurar e remover artefatos duplicados do projeto

pode usar pelo cmd, ou direto pelo eclipse, tem no netBeans também, mas faz muito tempo que não o uso mais

No Eclipse -> No Icone “Debug” vá em “Debug Configuration”

No menu "Mavem Build"
Da um “new” em “Gools” coloca esse comando que passei acima, não esquece de apontar para o projeto que esta analisando "Base Workspace"
Ai ele vai gerar sua hierarquia de dependecias…

Ai joga em Editor de sua preferencia para fazer a analise…
e verifica as lib duplicadas

D

acho que nao esta funcionando pelo formato da data que estou enviando ao relatorio. Ele não faz nada nao me retorna nada. Mas quando eu mando uma String ao invés de um date, ele me retorna que nao conseguiu fazer o parse.

como posso saber no jasper qual pattern ele espera para a entrada de data?

M

Tem olhar ele e ver que tipo de data ele espera

D

é um param

M

então passa ele como paramtro
do tipo java.util.Date, dessa forma se o relatório estiver certo já imprime

D

eu acho que ja esta passando assim. Não sei se esta correto.
Deve estar funcionando, mas eu nao acho o pdf gerado.

@RequestMapping(value = "/report/relatorio", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
	public String form(@RequestParam("id[]") int id[],
			@RequestParam("dateIni") @DateTimeFormat(pattern = "dd/MM/yyyy") Date dateIni,
			@RequestParam("dateFim") @DateTimeFormat(pattern = "dd/MM/yyyy") Date dateFim,
			@RequestParam("horaInit") String horaInit, @RequestParam("minutoInit") String minutoInit,
			@RequestParam("horaFim") String horaFim, @RequestParam("minutoFim") String minutoFim) throws JRException, FileNotFoundException, SQLException {

	
	Calendar cal = Calendar.getInstance();

	Relatorio relatorio = new Relatorio();
	
	relatorio.setTag((int) cal.getTimeInMillis());
	relatorio.setMachinesIds(id);
	relatorio.setDateIni(dateIni);
	relatorio.setDateFim(dateFim);
	relatorio.setHoraInit(horaInit);
	relatorio.setMinutoInit(minutoInit);
	relatorio.setHoraFim(horaFim);
	relatorio.setMinutoFim(minutoFim);
	
	System.out.println(relatorio.toString());
	
	for (int i = 0; i < relatorio.getMachinesIds().length; i++) {
		TemporaryMachineId tempMachine = new TemporaryMachineId();
		
		tempMachine.setMachineId(relatorio.getMachinesIds()[i]);
		tempMachine.setTag(relatorio.getTag());
		
		tempMachineDao.gravar(tempMachine);
	}
	String nome = request.getServletContext().getRealPath("/WEB-INF/jasper/reportMaquinaData");
	JasperCompileManager.compileReportToFile(nome+".jrxml");
	
	
	Map<String, Object> parametros = new HashMap<String, Object>();
	
	parametros.put("dataIni", relatorio.getDateIni());
    parametros.put("dataFim", relatorio.getDateFim());
   
    //parametros.put("dataIni", "Mon Aug 01 00:00:00 BRT 2016");
    //parametros.put("dataFim", "Sat Aug 27 00:00:00 BRT 2016");
    
    //Pegar connection do hibernate
    
    Connection conn = tempMachineDao.retornaCon();
    
    GeradorRelatorioUtil geradorRelatorio = new GeradorRelatorioUtil(nome+".jasper", parametros, conn);
	geradorRelatorio.geraPDParaOutputStream(new FileOutputStream(nome+".pdf"));
	
	return "/relatorio/ok";
}
M

Coloca um path nesse nome, pra ver o arquivo
Tipo: C:/tmp/relatorio/relatorio.pdf, windows
ou /tmp/relatorio/relatorio.pdf linux

Ou pega esse stream e joga para o requeste ou reponse não lembro direito e manda pra o browser do cliente

D

mudei o retorno, e nada.

public JRPdfExporter form(@RequestParam("id[]") int id[],
			@RequestParam("dateIni") @DateTimeFormat(pattern = "dd/MM/yyyy") Date dateIni,
			@RequestParam("dateFim") @DateTimeFormat(pattern = "dd/MM/yyyy") Date dateFim,
			@RequestParam("horaInit") String horaInit, @RequestParam("minutoInit") String minutoInit,
			@RequestParam("horaFim") String horaFim, @RequestParam("minutoFim") String minutoFim) throws JRException, FileNotFoundException, SQLException {

		
		Calendar cal = Calendar.getInstance();

		Relatorio relatorio = new Relatorio();
		
		relatorio.setTag((int) cal.getTimeInMillis());
		relatorio.setMachinesIds(id);
		relatorio.setDateIni(dateIni);
		relatorio.setDateFim(dateFim);
		relatorio.setHoraInit(horaInit);
		relatorio.setMinutoInit(minutoInit);
		relatorio.setHoraFim(horaFim);
		relatorio.setMinutoFim(minutoFim);
		
		System.out.println(relatorio.toString());
		
		for (int i = 0; i < relatorio.getMachinesIds().length; i++) {
			TemporaryMachineId tempMachine = new TemporaryMachineId();
			
			tempMachine.setMachineId(relatorio.getMachinesIds()[i]);
			tempMachine.setTag(relatorio.getTag());
			
			tempMachineDao.gravar(tempMachine);
		}
		String nome = request.getServletContext().getRealPath("/WEB-INF/jasper/reportMaquinaData");
		JasperCompileManager.compileReportToFile(nome+".jrxml");
		
		
		Map<String, Object> parametros = new HashMap<String, Object>();
		
		parametros.put("dataIni", relatorio.getDateIni());
		parametros.put("dataFim", relatorio.getDateFim());
		parametros.put("tag", relatorio.getTag());
       
        //parametros.put("dataIni", "Mon Aug 01 00:00:00 BRT 2016");
        //parametros.put("dataFim", "Sat Aug 27 00:00:00 BRT 2016");
        
        //Pegar connection do hibernate
        
        Connection conn = tempMachineDao.retornaCon();
        
        GeradorRelatorioUtil geradorRelatorio = new GeradorRelatorioUtil(nome+".jasper", parametros, conn);
		//geradorRelatorio.geraPDParaOutputStream(new FileOutputStream(nome+".pdf"));
		
		return geradorRelatorio.geraPDParaOutputStream(new FileOutputStream(nome+".pdf"));
	}```


mas tem um path. 

```String nome = request.getServletContext().getRealPath("/WEB-INF/jasper/reportMaquinaData");```
M

Mas você permissão pra escrita nessa path?

D

nao sei. Como posso verificar?

D

mas de qualquer forma eu tenho que retornar pro cliente mesmo como se fosse um download

M

isso é permissões de usuários e aplicativos
Coloca em uma pasta que foi tu que criou, teu usuário. depois tu vai atraz disso

D

blz, fiz esse teste coloquei em c:teste e rolou, ele compila, e cria um pdf. Legal. Porem nao aparece nada.

fica um pdf em branco.
nao da pra monitorar o mysql para saber se ele realmente foi pesquisado?

D

e ele também trava o arquivo, preciso parar o tomcat para que ele possa ser aberto.

o código que gera o relatorio é este

try {
			JasperPrint jasperPrint = JasperFillManager.fillReport(this.nomeArquivo, this.parametros, this.connection);
			
			JRPdfExporter exporter = new JRPdfExporter();
			exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
			exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputStream));
			
			SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
			exporter.setConfiguration(configuration);
			exporter.exportReport();
			
		} catch (JRException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}```

sera que precisa dar um fechar ou algo assim?
M
  • Quando trava o arquivo é geralmente porque abre um stream e voce não o fecha
  • Não precisa monitoriar o mysql tem monitorar o tomcat, coloca e debug e ve esta enviando o parametros
  • Manda um parametro só para o relatório e teste
  • Depois tu vai ver que teu relatório esta errado
  • O Ireport tem problemas com layout e aparece em branco, isso sempre acontece quando esta começando
D

tentei achar e não encontro.

try {
			JasperPrint jasperPrint = JasperFillManager.fillReport(this.nomeArquivo, this.parametros, this.connection);
			
			JRPdfExporter exporter = new JRPdfExporter();
			exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
			exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputStream));
			
			SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
			exporter.setConfiguration(configuration);
			exporter.exportReport();
			
		} catch (JRException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}```
M

Já te falei que tem saber pra onde esta mandando o stream do arquivo…
e colocar no canal que precisa

D

boa man Achei!!

geradorRelatorio.geraPDParaOutputStream(new FileOutputStream(nome+relatorio.getTag()+".pdf"));

na chamada ele da um new, dentro do método fiz um close.

try {
			JasperPrint jasperPrint = JasperFillManager.fillReport(this.nomeArquivo, this.parametros, this.connection);
			
			JRPdfExporter exporter = new JRPdfExporter();
			exporter.setExporterInput(new SimpleExporterInput(jasperPrint));
			exporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outputStream));
			
			SimplePdfExporterConfiguration configuration = new SimplePdfExporterConfiguration();
			exporter.setConfiguration(configuration);
			exporter.exportReport();
			
			outputStream.close();
			
		} catch (JRException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}```

vlw pelo help!
Criado 29 de julho de 2016
Ultima resposta 1 de ago. de 2016
Respostas 24
Participantes 2