Estou lendo um xml e tentando criar seu relatório, mas tive o seguinte erro:
net.sf.jasperreports.engine.JRException: Error loading object from file : C:\XML\Teste2.jrxml
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:94)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:536)
at controle.EmiteRelatorio.main(EmiteRelatorio.java:25)
Caused by: java.io.StreamCorruptedException: invalid stream header: 3C3F786D
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:53)
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:89)
... 2 more
Esse C:\XML\Teste2.jrxml é o meu arquivo.jasper e meu xml está em C:\XML\ARQUIVO.XML
Essa é minha classe java:
import java.util.HashMap;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRXmlDataSource;
import net.sf.jasperreports.view.JasperViewer;
public class EmiteRelatorio {
public static void main(String[] args){
try {
String jasper = "C:/XML/Teste2.jrxml";
JRXmlDataSource xml = new JRXmlDataSource("C:/XML/ARQUIVO.xml", "/NFe/infNFe/emit");
JasperPrint jp = JasperFillManager.fillReport(jasper, new HashMap(),xml);
JasperViewer.viewReport(jp,false);
}catch (JRException e){
e.printStackTrace();
}
}
}//fim da class principal
Alguém me ajuda??