Classe java não chama arquivo jasper

Boa noite galera.

Fiz um arquivo jasper no no Ireport 4.1.2, com nome de Clientes. jasper, mas quando crio uma classe no java para executa-lo e introduzir no meu sistema, dá esse erro:

Exception in thread "main" net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0
	at net.sf.jasperreports.engine.JRHyperlinkHelper.getLinkTarget(JRHyperlinkHelper.java:273)
	at net.sf.jasperreports.engine.base.JRBaseImage.normalizeLinkTarget(JRBaseImage.java:929)
	at net.sf.jasperreports.engine.base.JRBaseImage.readObject(JRBaseImage.java:1051)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at java.util.ArrayList.readObject(ArrayList.java:593)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:92)
	at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:68)
	at kartodromo.RelatorioProdutos.exibirRelatorio(RelatorioProdutos.java:41)
	at kartodromo.RelatorioProdutos.main(RelatorioProdutos.java:50)
Java Result: 1

Segue abaixo o código

package kartodromo;

import java.sql.*; 
import javax.swing.JOptionPane; 
import java.util.HashMap; 
import net.sf.jasperreports.engine.*; 
import net.sf.jasperreports.engine.util.JRLoader; 
import net.sf.jasperreports.view.*; 

public class RelatorioProdutos { 

private Connection con; 
private String relatorio = ("C://Users//Wallace//Desktop//Clientes.jasper");

public RelatorioProdutos() { 
try{ 
String url ="jdbc:mysql://localhost:3306/test";
String usuario ="root";
String senha="";
 
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url,usuario,senha);
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM clientes");
} 
catch(Exception event)
{
JOptionPane.showMessageDialog(null,"conexão não estabelecida"+
" verificar se o banco esta ativo","Mensagem do Programa",JOptionPane.ERROR_MESSAGE);
}

} 
public void exibirRelatorio() throws SQLException{ 
 

try { 
JasperReport jr = (JasperReport)JRLoader.loadObject(relatorio); 
HashMap map = new HashMap(); 
JasperPrint rel = JasperFillManager.fillReport(jr, map, con); 
JasperViewer.viewReport(rel, false); 
} catch (JRException erro) { 
JOptionPane.showMessageDialog(null, "Erro: " + erro.getMessage()); 
} 
} 
  public static void main(String [] agrs) throws SQLException{
     new RelatorioProdutos().exibirRelatorio();
   
    }

} 

Se dou Debug na classe aparece que foi construído com sucesso, estou realmente perdido…

Se alguém puder dar um toque e mostrar aonde estou errando, ficarei muito grato

Obrigado

cara,

veja nesse link o motivo do erro.

t+

Olá alisson, fiz o que dizia no fórum, baixei duas versões antigas do ireport, e um jar atualizado, mas mesmo assim nenhum desses 3 jeitos funcionou… já não sei mais o que fazer…fico no aguardo se alguém puder me ajudar…

Abraçoo