|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 2 ![]() |
Bonjour à tous,
Je viens de m'atteler à la tache de migrer ma plateforme BIRT en 2.3.0 ainsi que tous les rapports au sein de mon application java swing. J'ai pour cela modifié ma Classe ReportRunner qui s'occupe de lancer l'engin BIRT, de lui passer le report design et de le lancer au format demandé (HTML ou PDF pour le moment). Des objets java sont envoyé à BIRT précédemment via addScriptableJavaObject(), et maintenant à traver getAppContext().put de la tache. Jusque la tout semble fonctionner. Je me heurte par contre à un problème au runtime ou les fonctions appelés sur certaines de mes classes ne sont pas reconnu, malgré les importPackage dans le script open de mon dataset. Une solution qui marchait très bien auparavant. J'ai vu un message sur ce forum qui disant d'utiliser Code :
engine.getConfig().getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY,ReportEngine.class.getClassLoader()); Alors si quelqu'un a déhà résolu le problème et peut me donner un coup de main, cela m'éviterai de m'arracher les cheveux qu'ils me restent !! Voici la fonction de ma classe qui instantie l'engine BIRT et lance le rapport Code :
Code :
et l'erreur qui survient au lancement du rapport: Citation:
Merci d'avance et bonne journée (la mienne risque d'etre plus dure!!) Greg |
|||||
|
|
00
|
|
|
#2 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Bonjour,
Et mList est le bon type ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juillet 2008 Messages : 2 ![]() |
mList est défini comme une liste qui contient tout les objets java necessaire à la creation du rapport. Ces objets sont du bon type lors de l'envoi à BIRT .. quand ils sont transmis dans mAssetList ca je ne sais pas (on peut debuger ?)
J'ai aussi editer un bout du script run (erreur de copier coller ou j'envoyer toujours mList dans la map de AppContext justement |
|
|
00
|
|
|
#4 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 17 ![]() |
J'ai aussi eu des soucis de classpath pour que birt trouve mes classes.
Sur l'objet task (de type IRunAndRenderTask), j'ai dû faire : task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, Thread.currentThread().getContextClassLoader()); De cette manière, Birt utilise le classloader de mon application et non le sien. Il trouve donc mes classes. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 1 ![]() |
J'ai rencontré le même problème, et il s'est avéré que mes classes java étaient compilées en 1.6, et que mon server Tomcat fonctionnait avec un java 1.5.
J'ai recompilé mes classes java en 1.5 et tout a fonctionné ! Le problème surevenait avec l'intégration jee et WebViewerExample du runtime de BIRT. Mon jar se trouve dans le répertoire WebViewerExample/scriptlib. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com