Ola pessoal
No IReport funciona tudo certo, mostra o relatorio, com Datasource XML. (xpath)
coloquei todos os jar do ireport na minha pasta
compila tudo certo, mas na hora de executar mostra este erro
que nao encontrou esta classe
ams@ams-lindberg:~/iReport-4.1.1/teste$ ./r
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/JRDataSource
Caused by: java.lang.ClassNotFoundException: net.sf.jasperreports.engine.JRDataSource
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: opencarrego. Program will exit.
-------------- aqui estar minha classe ---------------
import java.io.IOException;
import java.io.StringReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import javax.swing.text.BadLocationException;
import javax.swing.text.rtf.RTFEditorKit;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
//import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.JasperPrintManager;
import net.sf.jasperreports.engine.data.JRXmlDataSource;
public class opencarrego {
public static void main(String[] args) throws Exception {
try {
String relatorio = "report3.jasper";
JRXmlDataSource xml =
new JRXmlDataSource("nf.xml",
"/nfeProc/NFe/infNFe/det/prod");
JasperPrint jp = JasperFillManager.fillReport(relatorio, new HashMap(),xml);
JasperViewer.viewReport(jp, false);
} catch (Exception e) {
System.out.println("Ocorreu um erro: " + e.toString() );
e.printStackTrace();
}
}
}
Obrigado pessoal …
pedruhenrik, valeu a ajuda … mas estou fazendo por este link …
existe algum pacote para o xpath ?
Mestre, por um acaso não tens jars duplicados (ou de versões diferentes) aí dentro, não?
Já me aconteceu, mas é quase um chute hehe
Abraço, mestre!
LindBerg,
Como você está rodando sua app? Pelo eclipse mesmo? Conferiu o BuildPath?
leoramos - tem jar duplicado nao, eu copiei todos da pasta ireport …
fabio - estou fazendo tudo pelo prompt shell no Desktop Ubuntu 10.10
nós estamos sempre aprendendo … obg pela atenção
Compilando - codebyte
javac opencarrego.java -cp “.:ireport/modules/ext/iText-2.1.7.jar:…/ireport/libs/xalan.jar:…/ireport/modules/ext/jasperreports-4.1.1.jar:…/ireport/modules/ext/commons-javaflow-20060411.jar:…/ireport/modules/ext/commons-beanutils-1.8.2.jar:…/ireport/modules/ext/commons-logging-1.1.jar:…/ireport/modules/ext/commons-collections-3.2.1.jar:…/ireport/modules/ext/commons-digester-1.7.jar:…/ireport/modules/ext/groovy-all-1.7.5.jar:…/ireport/modules/ext/batik-xml.jar:…/ireport/modules/ext/jdt-compiler-3.1.1.jar:…/ireport/modules/ext/barcode4j-2.0.jar:…/ireport/modules/ext/xml-apis.jar:…/ireport/modules/ext/xml-apis-ext.jar”
Executando
java opencarrego -cp “.:ireport/modules/ext/iText-2.1.7.jar:…/ireport/libs/xalan.jar:…/ireport/modules/ext/jasperreports-4.1.1.jar:…/ireport/modules/ext/commons-javaflow-20060411.jar:…/ireport/modules/ext/commons-beanutils-1.8.2.jar:…/ireport/modules/ext/commons-logging-1.1.jar:…/ireport/modules/ext/commons-collections-3.2.1.jar:…/ireport/modules/ext/commons-digester-1.7.jar:…/ireport/modules/ext/groovy-all-1.7.5.jar:…/ireport/modules/ext/batik-xml.jar:…/ireport/modules/ext/jdt-compiler-3.1.1.jar:…/ireport/modules/ext/barcode4j-2.0.jar:…/ireport/modules/ext/xml-apis.jar:…/ireport/modules/ext/xml-apis-ext.jar”
“Suspeitei desde o princípio”. =)
eheh
O problema é que o parâmetro -cp não está conseguindo encontrar o jar ou até mesmo todos eles.(Óbvio… rs)
Dê uma fuçada aí pra ver porque não encontra.
Até mais.
hehe
o problema é que eu não sei qual ! …
tu sabe qual o jar ?
será que precisa do pacote do xpath e onde encontrar ?
ja pesquisei muuuuito e ainda não encontrei …
O JAR que possui essa classe que está reclamando é o: …/ireport/modules/ext/jasperreports-4.1.1.jar
valeu fabio, vou mexer mais …
não sei mais o que fazer …
uuheahu…
Lindberg, você quer compactar tudo, colocar em algum local para eu baixar e tentar rodar?
sim vou fazer isso agora mesmo
ta ai, so não da pra mandar os .jar por aqui …
pretendo criar um PDF e enviar por email, isso é pra NFe.
Disponibiliza ou me manda os jars por email
fabiozoroastro[at]gmail
Lindberg,
tenta assim:
java -cp ".:ireport/modules/ext/iText-2.1.7.jar:../ireport/libs/xalan.jar:../ireport/modules/ext/jasperreports-4.1.1.jar:../ireport/modules/ext/commons-javaflow-20060411.jar:../ireport/modules/ext/commons-beanutils-1.8.2.jar:../ireport/modules/ext/commons-logging-1.1.jar:../ireport/modules/ext/commons-collections-3.2.1.jar:../ireport/modules/ext/commons-digester-1.7.jar:../ireport/modules/ext/groovy-all-1.7.5.jar:../ireport/modules/ext/batik-xml.jar:../ireport/modules/ext/jdt-compiler-3.1.1.jar:../ireport/modules/ext/barcode4j-2.0.jar:../ireport/modules/ext/xml-apis.jar:../ireport/modules/ext/xml-apis-ext.jar" opencarrego
Se não funcionar, coloque um ponto e vírgula logo após a aspas que fecha o -cp
[code]
java -cp ".:ireport/modules/ext/iText-2.1.7.jar:../ireport/libs/xalan.jar:../ireport/modules/ext/jasperreports-4.1.1.jar:../ireport/modules/ext/commons-javaflow-20060411.jar:../ireport/modules/ext/commons-beanutils-1.8.2.jar:../ireport/modules/ext/commons-logging-1.1.jar:../ireport/modules/ext/commons-collections-3.2.1.jar:../ireport/modules/ext/commons-digester-1.7.jar:../ireport/modules/ext/groovy-all-1.7.5.jar:../ireport/modules/ext/batik-xml.jar:../ireport/modules/ext/jdt-compiler-3.1.1.jar:../ireport/modules/ext/barcode4j-2.0.jar:../ireport/modules/ext/xml-apis.jar:../ireport/modules/ext/xml-apis-ext.jar"; opencarrego
[/code]
Eu não havia percebido que você estava colocando a classe antes de definir o classpath.
=)
Se não funcionar desse jeito, avise!
opa, o erro mudou utilizeia primeira opção, a segunda nao funfa.
Exception in thread "main" java.lang.NoClassDefFoundError: net/sourceforge/barbecue/BarcodeException
at net.sf.jasperreports.components.barbecue.BarbecueFillComponent.setBarcodeImage(BarbecueFillComponent.java:138)
at net.sf.jasperreports.components.barbecue.BarbecueFillComponent.fill(BarbecueFillComponent.java:108)
at net.sf.jasperreports.engine.fill.JRFillComponentElement.fill(JRFillComponentElement.java:148)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.fillElements(JRFillElementContainer.java:570)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:401)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:347)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:329)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:263)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:129)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:903)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:832)
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 opencarrego.main(opencarrego.java:32)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.barbecue.BarcodeException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 15 more
LindBerg, esse erro também deu aqui.
=)
Perceba agora que essa BarcodeException foi lançada pq ocorreu alguma exceção na geração do relatório. Ou seja, encontrou os jars para a geração do relatório.
Você agora tem que descobrir qual é o jar que tem esse BarcodeException e adicioná-lo ao classpath.
Abraço.