net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0

Si haz usado iReport para hacer tus reportes, y al ejecutarlo en un servidor lanza este error

net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0

y por más que compiles y recompiles el .jrxml, lanza el mismo error.... revisa las versiones del iReport y del JasperReports utilizado en el proyecto.


Asegúrate que sean la misma versión. En la publicación de este post, la versión del iReport es 3.7.3 al igual que el JasperReports.

Para ver todas las versiones del JasperReports, revisa esta página

http://sourceforge.net/projects/jasperreports/files/jasperreports

Y para ver las de iReport
http://sourceforge.net/projects/ireport/files/iReport/

También existe el plugin para NetBeans
http://sourceforge.net/projects/ireport/files/iReport%20Plugin%20for%20NetBeans/
Share on Google Plus
    Blogger Comment
    Facebook Comment

26 comentarios:

franco dijo...

graciasss!!! me solucionaste un problemon!! q tenia, me pasaba esto xq tenia una version de iReport posterior q la de jasper

Muchas gracias y segui con estas soluciones!!!
Un saludo desde Uruguay!!!

PabLorD dijo...

excelente, igual tenia ese error, no se me ocurrio buscar en google, creia que era un error de mi codigo!!

saludos desde Chile!

Anónimo dijo...

como puedo ver la version que tengo de
JasperReports

Diego Silva dijo...

revisa el nombre del .jar que estás usando. Debe decir algo como jasperreports-3.7.3.jar. Esto es para el Jasper (la biblioteca que utiliza tu aplicación para mostrar un reporte .jasper)

Pero si quieres ver la versión del iReport (la aplicación que edita los .jrxml y los compila a .jasper), revisa en Tools > Plugins, mira en la ficha de "Downloaded", activa el check y busca el ireport-designer. Hazle clic ahi y mira lo que dice en el panel derecho, en la línea "Source", ahí dice la versión del plugin.

Espero que te sirva. Saludos

Anónimo dijo...

Amigo ya supere el "Unknown hyperlink target 0" pero ahora me muestra un mensaje donde dice "null "

Diego Silva dijo...

hey amigo.. puede ser mas claro tu mensaje de error? un "null" puede significar muchas cosas, ¿cual es el mensaje completo del error?

Anónimo dijo...

hola, tengo ese mismo error, y ya descargue los archivos respectivos pero que debo hacer porfavor ayudame

Anónimo dijo...

Groso!, muchas gracias!

Anónimo dijo...

hola, ¿qué frascos necesito tener en el proyecto? He comunes frascos-collections-3.2.1.jar "," maravilloso, todo-1.5.5.jar "," iText-2.1.7.jar "," jasperreports-3.7.3.jar "," jasperreports- tabla-temas-3.7.3.jar "," jasperreports-extensiones-3.5.3.jar "," jasperreports-fuentes-3.7.3.jar "y continuar con el siguiente error:

net.sf.jasperreports.engine.JRRuntimeException: El objetivo hipervínculo Desconocido 0
en net.sf.jasperreports.engine.JRHyperlinkHelper.getLinkTarget (JRHyperlinkHelper.java: 273)
en net.sf.jasperreports.engine.base.JRBaseTextField.normalizeLinkTarget (JRBaseTextField.java: 317)


El informe se genera en la versión 3.7.3 de iReport.
¿Qué puedo hacer para resolver la situación?

Gracias

Anónimo dijo...

Lo sentimos error del mensaje anterior

hola, ¿qué jars necesito tener en el proyecto? Tengo los jars "commons-collections-3.2.1.jar","groovy-all-1.5.5.jar","iText-2.1.7.jar","jasperreports-3.7.3.jar","jasperreports-chart-themes-3.7.3.jar","jasperreports-extensions-3.5.3.jar","jasperreports-fonts-3.7.3.jar" y continuar con el siguiente error:

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.JRBaseTextField.normalizeLinkTarget(JRBaseTextField.java:317)


El report se genera en la versión 3.7.3 de iReport.
¿Qué puedo hacer para resolver la situación?

Gracias

Diego Silva dijo...

Mira, tienes el jar

jasperreports-extensions-3.5.3.jar

considera la correspondiente a la versión 3.7.3

Luis Antonio dijo...

Gracias es verdad yo tope con este problema e intente hacer de todo pero no era error de codigo, era mi version tenia el jasperreports-3.6.1 y 3.6.2, y necesitaba la ultima version que es o creo que es la 3.7.5

Anónimo dijo...

Hola ya cambie mi version de ireport porque tenia la version 4.0 y de jaspert tengo la 3.7.0 y baje el plugin de ireport 3.7.0 y nada me sigue marcando el mismo error que pasa?

Diego Silva dijo...

haz compilado el reporte con el iReport 3.7? dale clic en el botón en forma de martillo que está en la parte superior del diseño del reporte.

Anónimo dijo...

Oye diego mira ya lo compile y no me marca error pero no me carga nada y no me carga nada nose que pasa ya llevo como 9 dias con los reportes y hoy siento que ya estoy muy cerca y pues no se que pasa mira mi codigo es este :

package reportes;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.*;
import java.util.HashMap;
import java.util.Map;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.view.save.JRPdfSaveContributor.*;
import net.sf.jasperreports.view.JRViewer.*;
import net.sf.jasperreports.view.save.JRMultipleSheetsXlsSaveContributor.*;
import java.sql.*;

public class IniciarReporte
{
Connection conn=null;
public IniciarReporte(){ // inicia el contructor
try
{
Class.forName("com.mysql.jdbc.Driver"); //se carga el driver
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/radio","root","camacho21");
JOptionPane.showMessageDialog(null,"Conexión establecida");
}
catch (Exception ex)
{
ex.printStackTrace();
}

} // acaba el constructor
public void ejecutarReporte()
{
try
{
String archivo = "reporteClientes.jasper";

System.out.println("Cargando desde: " + archivo);
if(archivo == null)
{
System.out.println ("No se encuentra el archivo ");
System.exit(2);
}
JasperReport masterReport = null;
try
{
masterReport = (JasperReport) JRLoader.loadObject(archivo);
}
catch (JRException e) {
System.out.println("Error cargando el reporte de Clientes : " + e.getMessage());
System.exit(3);
}
//Map parametro= new HashMap();
//parametro.put("Id_cliente",id_cliente);
//,conn);
//JasperViewer jviewer= new JasperViewer(jasperPrint,false);
//jviewer.setTitle("Geniz -Reporte");
//jviewer.setVisible(true);
}
catch (Exception j)
{
System.out.println("Mensaje de Error:"+ j.getMessage());
}
} // aki acaba el metodo que va a cargar el archivo
public void cerrar()
{
try
{
conn.close();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}



} // acaba la clase








Y le boton donde voy a presionar pa que salga el reporte la tengo en el mismo paquete no se que pasa me podrias dejar tu correo pa preguntar preguntas muy especificas mi correo es hector_camacho9@hotmail.com

Anónimo dijo...

Ola oye sabes le intente de otra forma y ahora me sale esta excepcion mira me dice esto

net.sf.jasperreports.engine.JRException:Byte data not found at location:leaf_banner_red.png
Y por lo que le entiendo hay me dice que no se encuentra el archivo del logotipo y porque si ese logo yo lo tengo bien indicado ese es lo que no le entiendo alguien k me pudiera ayudar ya llevo mas de 10 dias con esto y namas no

Anónimo dijo...

hola tengo el siguiente problema construi dos reportes con jasperreport y ireport 3.5.2 y si funcionan en la version 4... recientemente decidi cambiarme a la version 4.0 de jasperreport y ireport en busca de nuevos elementos... y he construido un nuevo reporte y no me funciona me arroja el siguiente error "unknown hyperlink target 0" ya verifique las versiones del jasperreport y ireport de mi netbeans y son las mismas (4.0) lo que me llama la curiosidad es que las biblioteca de mi proyecto aparecen como jasperreport 3.0.1 (entonces decidi eliminarlas y agregarlas de nuevo) pero siguen siendo 3.0.1 lo que me deja con la duda si la biblioteca jasperreport 3.0.1 solo trabaja con la version 3.x o hay una version 4.0 y no la integraron a el plugins del netbeans.... en resumidas cuentas todabia no corre el reporte que construi con la version 4.0 y necesito solucionar el error: unloknown hyperlink target 0 ......si alguien me puede ayudar mil gracias...

Diego Silva dijo...

Hola Anónimo
pues sí, al parecer no están integrando bien el plugin de NetBeans con las bibliotecas necesarias. Eso lo comenté en su momento en un post anterior

http://www.apuntesdejava.com/2008/08/reportes-en-netbeans-61-con.html

Asi que lo que hago es agregar manualmente los .jars a la biblioteca de iReport después de instalar el plugin.

ruber dijo...

me funcionó perfectamente, muchas gracias ya estaba volviéndome loco. yo tenia ireport 4 pero la version del jasper no era la misma, lo que hice fue descargar jasperrepor4 y agregarlos al proyecto, y listo todo funciona bien, gracias que Dios los bendiga.

Anónimo dijo...

Gracias!Problema solventado!

Anónimo dijo...

hola!! yo instale el plugin de ireport 3.7.0 y nada mas pero en la parte de las librerias me muestra q tengo jasperreport 3.0.1 esta bien esto?

J&J dijo...

saludos a todos yo tenia ese prole el del net.sf.jasperreports.engine.JRRuntimeException y el error es que ise el reporte con la version iReport-4.0.2 y lo estaba corriendo en el eclipse con las librerias del iReport-3.7.1..ojo siempre hay que correrce los reportes con las mismas librerias de la version con la cual se iso.... otra cosa mas todas esas librerias no es necesario descargarlas por q cuando se instala el progra, todas la librerias con el y se pueden ubucar en la ruta C:\Program Files\Jaspersoft\iReport-3.7.1\ireport\modules\ext tambien hay q tener en cuenta q no es necesario utilizarlas todas el reporte se levanta con las siguientes lib

commons-collections-2.1.1.jar
commons-digester-1.7.jar
commons-logging-1.0.4.jar
iText-2.1.7.jar
jasperreports-3.7.1.jar

Diego Silva dijo...

Gracias J J.
Otro punto que considero (y espero que algun dia pueda postearlo) es tomar las versiones de las librerias. El digester esta en 1.8, y el logging en 1.1.. etc. y si se utiliza otros frameworks (como el spring) tambien considerar las ultimas versiones de sus librerias. Si no, en una misma aplicación aparecerá commons-logging-1.0.4.jar y commons-logging-1.1.1.jar.

Black_Ice_GT dijo...

MUCHAS GRACIAS POR EL APORTE.... NO SABES DEL LIO QUE ME HE LIBRADO, LLEVABA COMO UNA SEMANA BUSCANDO LA SOLUCION.... SALUDOS DESDE OAXACA....

María José Díaz Paredes dijo...

Gracias Chamo... me fue muy útil...

Gerardo Enrique Gutiérrez Romero dijo...

Muy útil...