2009-10-20 6 views
0

J'ai hérité d'une application et tenté de mettre à niveau jasperreports v. 0.6.5 vers v. 3.5.3 ou v. 3.6.0. C'est une application J2EE servie dans un conteneur Tomcat 5.5.23 fonctionnant sous linux. Le fichier d'application .war est compilé en utilisant Maven.Problème de mise à niveau de jasperreports

Voici ce que je l'ai essayé jusqu'à présent:

  • recompilé tous les fichiers .jrxml sur une machine Windows XP qui a utilisé les versions précédentes de JasperReports (1.2.1 à 3.6.0) en utilisant iReport.

  • Recompilé tous les fichiers .jrxml sur un autre ordinateur Windows XP qui n'a jamais utilisé les versions précédentes de jasperreports avec iReport.

  • Recompilé tous les fichiers .jrxml sur une machine Linux qui n'a jamais utilisé les versions précédentes de jasperreports avec iReport.

  • Efface le contenu du répertoire $ TOMCAT_HOME/webapp. Avec mes nombreuses tentatives, les rapports ne fonctionnera pas dans l'application, et l'erreur suivante est produite dans le fichier journal:

  • Mise à jour la version de Java sur la machine d'essai à la version exacte de Java qui a été utilisé pour créer le fichier d'application .war.

Que puis-je essayer d'autre?

Voici la pile:

java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; classe locale incompatible: flux classdesc serialVersionUID = 10200, classe locale serialVersionUID = 605 à java.io.ObjectStreamClass.initNonProxy (ObjectStreamClass.java:546) à java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1552) à java .io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1466) à java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1552) à java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1466) à java.io .ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:1699) à java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1305) à java.io.ObjectInputStream.readObject (ObjectInputStream.java:348) à net.sf.j asperreports.engine.util.JRLoader.loadObject (JRLoader.java:86) à net.sf.jasperreports.engine.JasperFillManager.fillReport (JasperFillManager.java:162) à tahc.hris.webapp.action.GenerateReport.execute (GenerateReport.java:127) à org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:484) à org.apache.struts.action.RequestProcessor.process (RequestProcessor.java:274) at org. apache.struts.action.ActionServlet.process (ActionServlet.java:1482) à org.apache.struts.action.ActionServlet.doPost (ActionServlet.java:525) à javax.servlet.http.HttpServlet.service (HttpServlet. java: 710) à javax.servlet.http.HttpServlet.service (HttpServlet.java:803) à org.apache.catal ina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:269) à org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:188) à tahc.hris.webapp.filter.ActionFilter.doFilter (ActionFilter. java: 91) à org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:215) à org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:188) à org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:210) à org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:174) à org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:525) à org. apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) à org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) à org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:108) à org.apache.catalina.connect ou.CoyoteAdapter.service (CoyoteAdapter.java:151) à org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java:200) à org.apache.jk.common.HandlerRequest.invoke (HandlerRequest.java: 283) à org.apache.jk.common.ChannelSocket.invoke (ChannelSocket.java:773) à org.apache.jk.common.ChannelSocket.processConnection (ChannelSocket.java:703) à org.apache.jk. common.ChannelSocket $ SocketConnection.runIt (ChannelSocket.java:895) à org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable.run (ThreadPool.java:685) à java.lang.Thread.run (Thread. java: 595) NESTÉ PAR: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; classe locale incompatible: flux classdesc serialVersionUID = 10200, classe locale serialVersionUID = 605 à java.io.ObjectStreamClass.initNonProxy (ObjectStreamClass.java:546) à java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1552) à java .io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1466) à java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1552) à java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1466) à java.io .ObjectInputStream.readOrdinaryObject (ObjectInputStream.java:1699) à java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1305) à java.io.ObjectInputStream.readObject (ObjectInputStream.java:348) à net.sf.j asperreports.engine.util.JRLoader.loadObject (JRLoader.java:86) à net.sf.jasperreports.engine.JasperFillManager.fillReport (JasperFillManager.java:162) à tahc.hris.webapp.action.GenerateReport.execute (GenerateReport.java:127) à org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:484) à org.apache.struts.action.RequestProcessor.process (RequestProcessor.java:274) at org. apache.struts.action.ActionServlet.process (ActionServlet.java:1482) à org.apache.struts.action.ActionServlet.doPost (ActionServlet.java:525) à javax.servlet.http.HttpServlet.service (HttpServlet. java: 710) à javax.servlet.http.HttpServlet.service (HttpServlet.java:803) à org.apache.cat alina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:269) à org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:188) à tahc.hris.webapp.filter.ActionFilter.doFilter (ActionFilter. java: 91) à org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:215) à org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:188) à org.apache. catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:210) à org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:174) à org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase. java: 525) à org.apache.catalina .core.StandardHostValve.invoke (StandardHostValve.java: 127) à org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) à org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:108) à org.apache. catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:151) à org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java:200) à org.apache.jk.common.HandlerRequest.invoke (HandlerRequest. java: 283) à org.apache.jk.common.ChannelSocket.invoke (ChannelSocket.java:773) à org.apache.jk.common.ChannelSocket.processConnection (ChannelSocket.java:703) à org.apache. jk.common.ChannelSocket $ SocketConnection.runIt (ChannelSocket.java:895) à org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable. run (ThreadPool.java:685) at java.lang.Thread.run (Thread.java:595) NESTÉ PAR: net.sf.jasperreports.engine.JRException: Erreur lors du chargement de l'objet du fichier:/usr/local/tomcat5/webapps /.../ .jasper à net.sf.jasperreports.engine.util.JRLoader.loadObject (JRLoader.java:90) à net.sf.jasperreports.engine.JasperFillManager.fillReport (JasperFillManager.java : 162) à tahc.hris.webapp.action.GenerateReport.execute (GenerateReport.java:127) à org.apache.struts.action.RequestProcessor.processActionPerform (RequestProcessor.java:484) à org.apache.struts .action.RequestProcessor.process (RequestProcessor.java:274) à org.apache.struts.action.ActionServlet.process (ActionServlet.j ava: 1482) à org.apache.struts.action.ActionServlet.doPost (ActionServlet.java:525) à javax.servlet.http.HttpServlet.service (HttpServlet.java:710) à javax.servlet.http. HttpServlet.service (HttpServlet.java:803) à org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:269) à org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:188) à tahc.hris.webapp.filter.ActionFilter.doFilter (ActionFilter.java:91) à org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:215) à org.apache.catalina.core. ApplicationFilterChain.doFilter (ApplicationFilterChain.java:188) at org.apache.catalina.c ore.StandardWrapperValve.invoke (StandardWrapperValve.java:210) à org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:174) à org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java: 525) à org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:127) à org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:117) à org.apache.catalina. core.StandardEngineValve.invoke (StandardEngineValve.java:108) à org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:151) à org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java: 200) à org.apache.jk.common.HandlerRequest.invoke (HandlerRequest.java:283) à org.apache.jk.common.ChannelSocket.invoke (ChannelSocket.java:773) à org.apache.jk.common.ChannelSocket.processConnection (ChannelSocket.java:703) à org.apache.jk.common. ChannelSocket $ SocketConnection.runIt (ChannelSocket.java:895) à org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable.run (ThreadPool.java:685) à java.lang.Thread.run (Thread.java: 595) Causée par: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; classe locale incompatible: flux classdesc serialVersionUID = 10200, classe locale serialVersionUID = 605 à java.io.ObjectStreamClass.initNonProxy (ObjectStreamClass.java:546) à java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1552) à java .io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1466) à java.io.ObjectInputStream.readNonProxyDesc (ObjectInputStream.java:1552) à java.io.ObjectInputStream.readClassDesc (ObjectInputStream.java:1466) à java.io.ObjectInputStream. readOrdinaryObject (ObjectInputStream.java:1699) à java.io.ObjectInputStream.readObject0 (ObjectInputStream.java:1305) à java.io.ObjectInputStream.readObject (ObjectInputStream.java:348) à net.sf.jasperreports.engine. util.JRLoader.loadObject (JRLoader.java:86) ... 27 plus *

Répondre

0

Assurez-vous de copier le dossier à votre application Lib Jasper * .jar fichiers de iReport. Vous utilisez peut-être une bibliothèque différente de celle de la compilation.

1

sallam,

i ont la même exception que vous avez, ce que j'ai d'abord été de prendre l'échantillon de webapp de JasperReports 3.7.6 et le faire tourner.

deux façons de le faire: 1.1 Les commandes de fourmis (*) puis créez le jaspe webapp.war et le mettre dans .. \ tomcat.6.0 \ webapps \ dossier * http://jasperforge.org/uploads/publish/jasperreportswebsite/trunk/getting.started.html

1,2 créer un nouveau projet utilisant un IDE comme intellij puis copiez tout le dossier exemple webapp. puis attachez la fourmi au fichier build.xml dans ce dossier. après cela, exécutez la fourmi et compilez/exécutez le projet.

  1. ouvrir le navigateur localhost: [port] vous pouvez voir Web Exemple d'application premier Viewr applet goto dans le menu à gauche et suivez ce lien: « cliquez ici pour vérifier si votre navigateur peut exécuter des applets Swing ou pas " si vous pouviez l'exécuter et voir rectangle applet alors vous n'avez aucun problème si vous n'essayez pas d'ouvrir ces pages ci-dessus en utilisant un autre navigateur comme" google chroom ", il pourrait vouloir télécharger le java d'internet juste suivre les étapes.

  2. après l'exécution du test goto page d'accueil de cet échantillon et suivez les pages de cet ordre compiler JRXML, remplissez le rapport, puis cliquez sur le konqueror lien Applet en page « applet viewer » et voir si elle fonctionne correctement.

  3. essayer de comprendre l'échantillon et jeter un oeil au dossier de l'applet (dans l'échantillon webapp) vous pouvez voir trois pots: JasperReports-applet-3.7.6.jar, commons-logging-1.0.4.jar , commons-collections-2.1.1.jar

ouvrir le viewer.html et voir comment l'échantillon utilise ces pots et en appelant le jeter "EmbeddedViewerApplet.class" javascript.

  1. dans le servlet, écrire les données du rapport dans un fichier pdf sur le serveur, puis de l'applet obtenir une poignée à l'objet de contexte de l'applet et appeler la méthode showDocument qui passe le chemin où j'enregistré le fichier pdf. tirée de: http://jasperforge.org/plugins/espforum/view.php?group_id=102&forumid=103&topicid=1291

J'espère que cela peut aider sombody ... :)