Boa tarde!
Na pagina do jasper ele nos mostra uma lista de jar para adicionar a aplicação. Tenho realmente que adicionar todos aqueles jar? Como saber qual deve utilizar ou não?
ant-1.7.1.jar
antlr-2.7.5.jar
barbecue-1.5-beta1.jar
barcode4j-2.1.jar
batik-anim.jar
batik-awt-util.jar
batik-bridge.jar
batik-css.jar
batik-dom.jar
batik-ext.jar
batik-gvt.jar
batik-parser.jar
batik-script.jar
batik-svg-dom.jar
batik-svggen.jar
batik-util.jar
batik-xml.jar
bcel-5.2.jar
bsh-2.0b4.jar
castor-1.2.jar
commons-beanutils-1.8.0.jar
commons-collections-2.1.1.jar
commons-digester-2.1.jar
commons-javaflow-20060411.jar
commons-logging-1.1.1.jar
dom4j-1.6.1.jar
groovy-all-2.0.1.jar
hibernate3.jar
hsqldb-1.8.0-10.jar
iText-2.1.7.js1.jar
jackson-annotations-2.0.5.jar
jackson-core-2.0.5.jar
jackson-databind-2.0.5.jar
jaxen-1.1.1.jar
jcommon-1.0.15.jar
jdt-compiler-3.1.1.jar
jfreechart-1.0.12.jar
jpa.jar
jxl-2.6.10.jar
log4j-1.2.15.jar
mondrian-3.1.1.12687.jar
png-encoder-1.5.jar
poi-3.7-20101029.jar
poi-ooxml-3.7-20101029.jar
poi-ooxml-schemas-3.7-20101029.jar
rhino-1.7R3.jar
saaj-api-1.3.jar
serializer.jar
servlet-api-2.4.jar
spring-beans-2.5.5.jar
spring-core-2.5.5.jar
velocity-1.7-dep.jar
xalan-2.7.1.jar
xbean.jar
xercesImpl-2.9.0.jar
xml-apis-ext.jar
xml-apis.jar
Adiciona um a um e ve se roda…
O que seu relatório faz?
barbecue-1.5-beta1.jar - Somente se usar código de barras
Relatórios simples.
groovy-all-1.6.4.jar
iReport.jar
iText-2.1.7.jar
jasperreports-4.0.0.jar
Se usar para criar gráficos ou outras coisas, só analisar.
Até mais…
Esqueci de uma coisa.
Essa é a versão que eu uso.
Mas também vai depender da versão do seu Ireport.
Até mais…
Criei um relatorio simples utilizando javabeans. Este relatório só traz o nome e email do cliente.
Eu estou utilizando os seguintes jar
barbecue-1.5-beta1.jar
commons-beanutils-1.8.2.jar
commons-digester-1.7.jar
groovy-all-1.7.5.jar
jasperreports-4.0.2.jar
commons-logging-1.1.jar
commons-collections-3.2.1.jar
iText-2.1.7.jar
ele gera este erro
java.lang.NullPointerException
at java.lang.Class.isAssignableFrom(Native Method)
at net.sf.jasperreports.engine.fill.JRFillTextField.getFormat(JRFillTextField.java:706)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:394)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:368)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:258)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:499)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2036)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:760)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:270)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:946)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:84)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at com.d2erp.financeiro.cliente.MovimentoCaixaBancoGridController.emiteRelatorio(MovimentoCaixaBancoGridController.java:124)
at com.d2erp.financeiro.cliente.MovimentoCaixaBancoGrid.genericButton2ActionPerformed(MovimentoCaixaBancoGrid.java:323)
at com.d2erp.financeiro.cliente.MovimentoCaixaBancoGrid.access$100(MovimentoCaixaBancoGrid.java:28)
at com.d2erp.financeiro.cliente.MovimentoCaixaBancoGrid$2.actionPerformed(MovimentoCaixaBancoGrid.java:127)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at org.openswing.swing.util.client.ApplicationEventQueue$InternalEventQueue.dispatchEvent(ApplicationEventQueue.java:130)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Boa noite!
Ja tentei de tudo para fazer funcionar o relatorio e nao roda. Sempre da a mesma mensagem de erro. Ja troquei alguns jar e não adiante.
Fiz um relatorio bem simples, ele só tem o nome e o email do cliente.
Estou utilizando o ireport 5.0
Classe que gera o relatorio
import com.d2erp.administrativo.java.ClienteDataSourceFactory;
import com.d2erp.administrativo.java.PessoaVO;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
public class ChamaRel {
public static void main(String args[]){
new ChamaRel();
}
public ChamaRel(){
chamarRel();
}
public void chamarRel() {
List<PessoaVO> listPessoa = ClienteDataSourceFactory.createBeanCollection();
JRBeanCollectionDataSource jrbean = new JRBeanCollectionDataSource(listPessoa);
try {
JasperPrint jp = JasperFillManager.fillReport("D:\\Teste.jasper", null, jrbean);
JasperViewer.viewReport (jp,false);
} catch (JRException ex) {
Logger.getLogger(ChamaRel.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Classe que preenche a lista
import java.util.ArrayList;
import java.util.List;
public class ClienteDataSourceFactory {
public static List<PessoaVO> createBeanCollection(){
List<PessoaVO> listaClientes = new ArrayList<PessoaVO>();
for (int i = 0; i < 10; i++){
PessoaVO cliente = new PessoaVO();
cliente.setId(i);
cliente.setNome("Nome do cliente " + i);
cliente.setEmail("Email do cliente " + i);
listaClientes.add(cliente);
}
return listaClientes;
}
}
Desinstalei a versão 5 do iReport e instalei a 4 e resolveu o problema. Não sei se é algum jar meu que esta com versão errada ou algum outro problema. Como estou com um pouco de presa vou deixar assim mesmo. Fica a dica.