problema con Jasper

Hola gente, estoy intentando empezar con el Jasper Report.
Estoy probando en mi local que está en windows.
Baje y descomprimí en 3ros. el paquete prearmado que ofrecen en la wiki.
Intento ejecutar el comando java -jar c:/toba_2.3.4/php/3ros/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081
y me dice que no puede encontrar el nombre de archivo “java”

Se que más de uno se va a reir ya que posiblemente esté haciendo mal muchas cosas y otras me han de faltar, peeeero, decia mi papá que el que pregunta es ignorante un rato, el que no, toda la vida.

Agradezco si me ayudan.

Saludos a todos.

Hola Claudio, esta muy bien que preguntes todo lo que no sabes, yo hago lo mismo :-P. Igual tú duda la pudo tener otro y por eso esta bueno que podamos contar con un foro para ayudarnos entre todos.
El problema que tienes creo que se debe a que no encuentra el comando java.
Lo que puedes hacer es posicionarte en la carpeta bin que está en la carpeta donde se instaló el jdk en windows, y desde allí ejecutar nuevamente la línea.
Lo mejor sería que definas el path completa a la carpeta bin en las variables de entorno de Windows así tienes el comando disponible para usar desde cualquier ubicación. Para agregar el path a las variables de entorno podes guiarte de este blog que encontré http://root-network.blogspot.com.ar/2011/08/como-compilar-java-desde-la-consola-de.html.

Espero haberte ayudado
Saludos.

Hola Claudio,

preguntando se llega a Roma dice la gente, asi que no esta mal hacerlo, creo que el equilibrio esta en empezar a preguntar una vez se cruzó el atlantico, asi no te dicen ‘Tenes que ir pa allá’ :D.

Bien Roberto ahi con la ayuda, necesitas tener jre o jdk instalados y accesibles via consola, usualmente el instalador de java suele dejar las cosas bien… pero no siempre sucede, asi que el link que puso es mas que util.

Fijate que hay varios post sobre Jasper dando vueltas por el foro, distintos problemas que hemos ido teniendo. En particular, para poder hacer tus propios reportes (y que funcionen en toba) vas a tener que bajarte una version <= 5.6.0 del iReport, de hecho esa por el momento es la ultima soportada. Aca nomas estabamos intentando encontrarle solucion a un par de inconvenientes con Javier.

Saludos

Hola amigos, recién pude conectarme al foro. Les agradezco las respuestas y orientación. Voy a ver que hago, y les comento como me fue.
Saludos.

Bueno chicos, hice lo del path, y anduvo.
Para eso tengo que ejecutar manualmente el comando java -jar c:/toba_2.3.4/php/3ros/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081
y funciona mientras tengo abierta la ventanita de comando. Si la cierro, se pincha.
En un momento dado me arrojó unos errores respecto a la zona horaria etc., pero no los pude repetir.
Gracias por la yuda, ahora voy a ver como puedo seguir para meterlo en mis proyectos.

Abrazo.

Hola gente, a ver si me dan otra ayudita.

No puedo lograr que el reporte en jasper funcione sin abrir una ventana de comandos y ejecutar el “java …etc, etc.”.
Probé agregando esto en el PHP

$salida = shell_exec(‘java -jar c:/toba_2.3.4/php/3ros/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081’);

Pero se queda colgado hasta el toba_editor.

Aclaro que todavía estoy haciendo cosas en el toba referencia, por lo tanto, en mi local.

Agradezco ayuda.

Saludos a todos.

Hola Claudio,

entiendo yo que el servicio de JavaBridge (que permite acceder a JasperReports desde PHP) se debe correr de forma independiete a la instalación de cualquier aplicación Toba.

Se queda colgado porque el comando ejecutado (java -jar…) lo que hace es iniciar un proceso que queda en constante ejecución, esperando y antendiendo conexiones al puerto 8081… creo que acá es donde choca con el modelo de ejecución secuencial de PHP/Apache.

Si lo que busca es evitar “abrir la ventana de comandos” todas las veces que desea generar los reportes, se puede crear un pequeño archivo (.bat en windows, .sh en linux :stuck_out_tongue: ) que se ejecute al iniciar la PC, quedando como servicio del sistema. De esta forma es un poco mas transparente, aunque cuando uno está desarrollando reportes en jasper, muchas veces quiere ver el output o salida de esa ventana para evaluar algún tipo de error.

Saludos!

Gracias Sergio, has sido muy amable (y paciente).
Un cordial saludo.

Hay un detalle que tal vez alguien con más luces que yo me puede iluminar:
La pregunta es:
¿ Por qué, si invoco el método “vista_jasperreports(toba_vista_jasperreports $report)” desde otro método en php, por ejemplo el del evento
“evt__cd_listado__imprimir()”, me arroja un error y se cuelga el php ya que no le gusta, no reconoce, no encuentra o que se yo al objeto del tipo “toba_vista_jasperreports” que recibe como parámetro?¿En tanto que cuando dicho método es invocado desde la función de javascript creada para interceptar el evento para imprimir, no tiene problemas?

Saludos.

Hola Claudio,

esto tiene que ver con el camino de ejecucion que se sigue, la exportacion cuando se dispara se atiende como un servicio particular, no sigue el mismo camino que la atencion de un evento normal.

En este caso particular, se instancia la clase de la vista, luego se le asignan los objetos que intervendran en dicho reporte y finalmente se genera la salida y se envia el archivo correspondiente.

Si queres ver cuales son las diferencias puntuales, tendrias que seguir el procesamiento de servicios en la clase toba_solicitud_web

Saludos