Bonjour,
En ce moment je suis en train de faire un serveur d'impression de bon de livraison en Java avec l'étroite collaboration de Jasper.
Le fait est que tout fonctionne parfaitement lorsque j'exécute mon appli via la commande "Run" d'Eclipse, mais lorsque je créer un .jar et que je lance le serveur d'impression via ce .jar, il ne fait que la moitié du boulot et pas d'erreur à l'horizon ! !
En fait, le fichier PDF est bien généré mais il n'y a rien dedans... Totalement vide ! !
Je ne comprend pas trop pourquoi l'appli marcherai via Eclipse et pas en .jar...
J'ai pensé à un problème de path, mais j'aurais au moins une erreur...
Voici la potion de code qui ne fonctionne pas :
J'ai bien toutes les classes dans mon MANIFEST et je n'ai pas d'exception de levée (j'ai tout retiré mais j'inscris toutes les étape dans un fichier de log et la ligne mentionnée n'est jamais passée...)
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 public boolean make(File file, File tuUse) { this.pdfFile = new File(file.getAbsolutePath() + ".pdf"); boolean ok = true; if (file.exists() && tuUse.exists()) { try { this.design = JRXmlLoader.load(tuUse); this.data.put("IMG", new File(tuUse.getParent()) .getAbsolutePath() + "\\img\\"); this.data.put("SUB", new File(tuUse.getParent()) .getAbsolutePath() + "\\"); this.report = JasperCompileManager.compileReport(design); this.printer = JasperFillManager.fillReport(this.report, this.data, this.connexion); //CETTE LIGNE N'EST JAMAIS EXECUTEE LORSQUE JE LANCE L'APPLLI VI MON .jar //************************************************************************* JasperExportManager.exportReportToPdfFile(this.printer, this.pdfFile.getAbsolutePath()); //************************************************************************* this.log.write("Export du rapport PDF : OK."); //Impression via l'imprimante choisi dans un autre classe ok = this.print(); } catch (JRException e) { this.log.writeError("ERREUR JASPER dans JasperObject : " + e.getCause() + " ==> " + e.getMessage()); ok = false; e.printStackTrace(); } } else { this.log .writeError("ERREUR JASPER OBJECT : Un des fichier nécessaire est null => IMPRESSION ANNULEE ! ! !"); ok = false; } return ok; }
D'avance, merci pour votre aide.
Partager