IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

Export rapport BIRT en runnable JAR file


Sujet :

BIRT

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Géomaticien
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur Géomaticien

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Points : 31
    Points
    31
    Par défaut Export rapport BIRT en runnable JAR file
    Bonjour à tous,

    J'ai terminé la mise en page de mon rapport .rptdesign, je souhaiterai désormais l'exporter en runnable JAR file (afin de pouvoir lancer l'export de mes rapports en .PDF avec un fichier .BAT). J'ai fait un premier essai (file->export->runnable JAR file) mais rien n’apparaît dans la liste "Launch configuration".

    Je suppose donc que l'export d'un rptdesign avec BIRT ne doit pas être aussi simple que l'export d'un job sous Talend Open Studio où il suffit de sélectionner le fichier de destination et de récupérer toutes les classes/contextes/etc. de manière automatique pour l'export. N'ayant jamais fait ce type d'opération sous BIRT, pourriez vous m'expliquer comment arriver à mes fins.

    Merci beaucoup.

    PS: je travail avec la version gratuite de BIRT report.

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Je pense qu'il faut que tu utilises le BIRT runtime. Il y a à l'intérieur un fichier "genReport.bat" qui devrait faire ton bonheur

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Géomaticien
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur Géomaticien

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Je répond un peu tardivement (d'autres taches à faire au boulot), mais merci donino, au départ je ne comprenais pas vraiment comment utiliser le fichier "genReport.bat" afin d'exporter mon "job" BIRT. J'ai donc effectué une recherche google sur ce fichier et ai trouvé cette solution qui m'a l'air (je pense, il faut encore que je fasse un essai) de correspondre parfaitement à ce que je recherche :

    http://digiassn.blogspot.fr/2006/07/...g-without.html

    Donc merci de m'avoir aiguillé sur ce fichier , si tu as une meilleure solution à me proposer n'hésite pas .

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Appli
    Tout dépend de votre appli et de vos besoins.

    S'il y a un composant Web , utiliser l'approche Tomcat c'est simple.

    Si aucun composant Web , prendre l'approche de l'article en question.

    Enfin , si vous avez des besoins de batcher des tonnes de rapports avec une parallélisation massive ou avec du très gros volume de données, c'est plutôt la version commerciale de BIRT ( Actuate ) qui fera l'affaire vs des centaines de JH de code pour faire la chose correctement.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Géomaticien
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur Géomaticien

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    j'ai donc fait des essais pour produire un rapport avec le birt runtime, j'ai suivi les instructions du post suivant :

    http://digiassn.blogspot.fr/2006/07/...g-without.html

    Je créer donc mon fichier .bat dont voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set BIRT_HOME=C:\ExportBIRT\birt-runtime-4_2_1\
    C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\genReport.bat -runrender -o "C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\samples\output.html" -f html "C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\samples\hello_world.rptDesign"
    Mais j'obtient une erreur à l’exécution :
    "La ligne entrée est trop longue.
    La syntaxe de commande est incorrecte"

    J'ai l'impression que le BIRTCLASSPATH est trop long, en effet dans le fichier genReport.bat il est défini comme ci-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set BIRTCLASSPATH=
    for %%i in (%BIRT_HOME%\ReportEngine\lib\*.jar) do set BIRTCLASSPATH=%%i;!BIRTCLASSPATH!
    Si je comprend bien, il fait une concaténation des noms de tout les .jar contenus dans le dossier "birt-runtime-4_2_1\ReportEngine\lib", et vu que ce dossier contient plus de 80 fichiers .jar, le chemin final est trop long.

    Le problème est que je ne sais pas du tout quel fichier .jar sera utilisé par le genReport ou pas, et je ne peut donc pas faire de tri ...
    Auriez vous une solution à mon problème ?
    Merci

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Effectivement en faisant un essai j'ai bien eu le même problème. Le fait qu'il utilise des chemins absolus dans le classPath avec chacun des jar donne une commande très longue, je ne savais pas que Windows avait une limite sur la taille des lignes de commande. De mon coté j'ai réglé le problème en mettant le BIRT runtime directement à la racine du disque, et en l'appelant juste "birt". En adaptant ton script cela donne cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set BIRT_HOME=D:\birt
    %BIRT_HOME%\ReportEngine\genReport.bat -runrender -o "%BIRT_HOME%\ReportEngine\samples\output.html" -f html "%BIRT_HOME%\ReportEngine\samples\hello_world.rptDesign"
    Et là ça fonctionne sans problème

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut 255 chars
    Il me semble que la limite d'une URL Windows c'est 255 charactères.


  8. #8
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Salut Stefan, je crois aussi que la limite d'un chemin windows c'est 255 caractères, mais avec le script genReport.bat on bute plutôt sur la limite d'une ligne de commande: j'ai vérifié sur le support windows ils disent que sur les versions postérieures à XP, la limite d'une ligne de commande est de 8191 caractères, ce qui collerait plutôt bien avec le problème rencontré par Florent.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Géomaticien
    Inscrit en
    Juin 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Ingénieur Géomaticien

    Informations forums :
    Inscription : Juin 2011
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Bonjour, désolé de ma réponse tardive mais j'ai trouvé la solution il y a quelques jours, j'ai remplacé dans le fichier genReport.bat la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set BIRTCLASSPATH=
    for %%i in (%BIRT_HOME%\ReportEngine\lib\*.jar) do set BIRTCLASSPATH=%%i;!BIRTCLASSPATH!
    par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set BIRTCLASSPATH=%BIRT_HOME%\ReportEngine\lib\*
    Par contre je rencontre un autre problème que je n'arrive pas à régler. En effet afin d'améliorer l'outil final j'ai créer une petite interface dans un fichier .bat qui utilise le genReport.bat. Voici un extrait du code de cette interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    rem CHEMIN D'ACCES AU RUNTIME BIRT
    Set BIRT_HOME=C:\ExportBIRT\birt-runtime-4_2_1\
    echo off
    cls
     
    rem CHOIX DE L'OPERATION A EFFECTUER
    echo Quelle operation souhaitez vous effectuer ?
    echo 1. Extraire toutes les unites
    echo 2. Extraire une ou plusieurs unites
    echo. 
    set choix= 
    set /p choix=Veuillez indiquer votre choix (1 ou 2) :
    echo. 
     
    rem CHOIX 1: EXTRACTION DE L'ENSEMBLE DES UNITES PAR BOUCLE (LECTURE DES UNITES DANS LE FICHIER unite.csv)
    rem CHOIX 2: L'UTILISATEUR TAPPE LUI MEME LE NOM DE L'UNITE SOUHAITEE (ATTENTION AUX MAJ/ESPACES!)
    if %choix%==1 goto choix1 
    if %choix%==2 goto choix2
     
    rem CHOIX 1: EXTRACTION DE L'ENSEMBLE DES UNITES PAR BOUCLE (LECTURE DES UNITES DANS LE FICHIER unite.csv)
    :choix1
    for /f "tokens=2 delims=," %%i in ('type "C:\ExportBIRT\unites.csv"') do (
    echo Unite : %%i en cours d'extraction...
    C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\genReport.bat -m runrender -o "C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\samples\output\%%i.pdf" -p "nomunite=%%i" -f pdf "C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\samples\BDDAccess_RapportFinal.rptdesign" 
    echo off
    echo Extraction de l'unite OK!
    echo ----------------------------------------------------------------------------- 
    )
    goto Fin
    J'appelle donc le genReport.bat dans le FOR afin d'extraire les rapports de l'ensemble des unité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /f "tokens=2 delims=," %%i in ('type "C:\ExportBIRT\unites.csv"') do (
    echo Unite : %%i en cours d'extraction...
    C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\genReport.bat -m runrender -o "C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\samples\output\%%i.pdf" -p "nomunite=%%i" -f pdf "C:\ExportBIRT\birt-runtime-4_2_1\ReportEngine\samples\BDDAccess_RapportFinal.rptdesign" 
    echo off
    echo Extraction de l'unite OK!
    echo ----------------------------------------------------------------------------- 
    )
    Jusque là tout va bien, l'ensemble des fichiers pdf sont créés. Mais à la fin du FOR (après le DO) la fenêtre de commande DOS se ferme automatiquement. Or je souhaiterai pouvoir continuer l’exécution de mon code une fois les rapports créés (aller sur le goto Fin). Je pense que le problème vient du genReport.bat car si je met seulement un "echo Test" dans le DO la fenêtre DOS ne se ferme pas et l’exécution continue sur la suite du code.

    J'ai regardé un peu le code contenu dans le fichier genReport.bat mais rien ne semble indiquer une fermeture automatique de la fenêtre DOS une fois les instructions du fichier terminées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    ECHO off
     
    REM org.eclipse.birt.report.engine.impl.ReportRunner Usage:
    REM --mode/-m [ run | render | runrender] the default is runrender
    REM for runrender mode:
    REM      we should add it in the end <design file>
    REM      --format/-f [ HTML \| PDF ]
    REM      --output/-o <target file>
    REM      --htmlType/-t < HTML \| ReportletNoCSS >
    REM      --locale /-l <locale>
    REM      --parameter/-p <"parameterName=parameterValue">
    REM      --file/-F <parameter file>
    REM      --encoding/-e <target encoding>
    REM
    REM Locale: default is english
    REM parameters in command line will overide parameters in parameter file
    REM parameter name cant include characters such as \ ', '=', ':'
    REM
    REM For RUN mode:
    REM      we should add it in the end<design file>
    REM      --output/-o <target file>
    REM      --locale /-l <locale>
    REM      --parameter/-p <parameterName=parameterValue>
    REM      --file/-F <parameter file>
    REM
    REM Locale: default is english
    REM parameters in command line will overide parameters in parameter file 
    REM parameter name cant include characters such as \ ', '=', ':' 
    REM
    REM For RENDER mode:
    REM     we should add it in the end<design file>
    REM     --output/-o <target file>
    REM     --page/-p <pageNumber>
    REM     --locale /-l <locale>
    REM
    REM Locale: default is english
    IF not "%BIRT_HOME%" == "" GOTO runBirt
    ECHO "Please set BIRT_HOME first."
    GOTO end
    :runBirt
     
     
    SET java.io.tmpdir=%BIRT_HOME%\ReportEngine\tmpdir
    SET org.eclipse.datatools_workspacepath=%java.io.tmpdir%\workspace_dtp
     
     
    IF not exist %java.io.tmpdir% mkdir %java.io.tmpdir%
    IF not exist %org.eclipse.datatools_workspacepath% mkdir %org.eclipse.datatools_workspacepath%
     
     
    REM set the birt class path.
    setlocal enabledelayedexpansion
    set BIRTCLASSPATH=%BIRT_HOME%\ReportEngine\lib\*
     
     
    REM set command
    SET JAVACMD=java
    set p1=%1
    set p2=%2
    set p3=%3
    set p4=%4
    set p5=%5
    set p6=%6
    set p7=%7
    set p8=%8
    set p9=%9
    shift
    set p10=%9
    shift
    set p11=%9
    shift
    set p12=%9
    shift
    set p13=%9
    shift
    set p14=%9
    shift
    set p15=%9
    shift
    set p16=%9
    shift
    set p17=%9
    shift
    set p18=%9
    shift
    set p19=%9
     
    %JAVACMD% -cp "%BIRTCLASSPATH%" -DBIRT_HOME="%BIRT_HOME%\ReportEngine" org.eclipse.birt.report.engine.api.ReportRunner %p1% %p2% %p3% %p4% %p5% %p6% %p7% %p8% %p9% %p10% %p11% %p12% %p13% %p14% %p15% %p16% %p17% %p18% %p19%
     
    :end
    Auriez vous une idée du paramètre à modifier afin que la fenêtre DOS ne se ferme pas une fois l’exécution du genReport.bat terminée?

    Merci d'avance pour vos réponse.

Discussions similaires

  1. Export Runnable jar file
    Par Johngtrs dans le forum Général Java
    Réponses: 4
    Dernier message: 03/02/2014, 23h28
  2. Ant - Libraries in Runnable jar files
    Par akrogames dans le forum EDI et Outils pour Java
    Réponses: 0
    Dernier message: 14/07/2013, 18h15
  3. Réponses: 8
    Dernier message: 03/02/2011, 16h42
  4. Export Runnable JAR File
    Par PtitGénie dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/10/2009, 13h51
  5. export Jar file.
    Par Ho(c)ine. dans le forum Général Java
    Réponses: 4
    Dernier message: 21/02/2008, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo