Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2011, 17h23   #1
Nouveau Membre du Club
 
Homme Acasanva
Consultant informatique
Inscription : octobre 2002
Messages : 20
Détails du profil
Informations personnelles :
Nom : Homme Acasanva
Âge : 32
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : octobre 2002
Messages : 20
Points : 26
Points : 26
Par défaut Jasper - Débuts difficiles

Bonjour à tous (et à toute, on sait jamais...).

Je suis archi-débutant en Jasper, et comme tout noobs j'ai cherché des tuto pour m'aider à comprendre.

J'ai donc déjà parcourus les tuto de base, installé iReport, Jasper, créé un rapport de test (qui prend en input un csv), que j'ai compilé, et le preview fonctionne bien.

Maintenant, voici ce que j'aimerais faire :
Utiliser Java pour combiner (fill si j'ai bien compris) mon rapport et un CSV.

J'ai regardé les différents tuto à ce sujet, donc celui d'Eric Reboisson, et d'autre (jasperforge).

Et j'avoue que je suis un peu perdu. Je cherche "juste" un tuto m'expliquant les différentes étapes, les inputs et outputs, et surtout, qui fonctionne.

A l'heure actuelle, je n'ai pas mieux qu'une java.lang.NoClassDefFoundError

POur les courageux, voici mon source Java :
Code :
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
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
 
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRCsvDataSource;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
 
import com.mysql.jdbc.Driver;
import  java.util.Map;
 
public class GenerateReport {
	public static final  String RAPPORT_PATH = "C:\\Users\\pama\\Documents\\Report\\reportPublicationTest.jasper";
	public static final  String DATA_PATH    = "C:\\Users\\pama\\Documents\\Report\\test\\test.csv";
	public static final  String RESULT_PATH  = "C:\\temp\\reportPublicationTest.pdf";
 
	// Ecrire sur la sortie standard
	public static final void echo(String msg){
		System.out.println(msg);
	}
	public static final void echoErr(String msg){
		System.err.println(msg);
	}
 
 
	private static JRCsvDataSource getDataSource() throws JRException{
		String[] columnNames = new String[]{"Lieu", "ISBN", "Titre"};
		JRCsvDataSource ds = new JRCsvDataSource(JRLoader.getLocationInputStream(DATA_PATH));
		ds.setFieldDelimiter(';');
		ds.setRecordDelimiter("\r\n");
		ds.setColumnNames(columnNames);
		return ds;
	}
 
	public static void fill() throws JRException
	  {
	    long start = System.currentTimeMillis();
	    //Preparing parameters
	    Map<String,Object> parameters = new HashMap<String,Object>();
	    parameters.put("ReportTitle", "Test Report");
	    parameters.put("DataFile", "CsvDataSource.txt - CSV data source");
	    Set<String> states = new HashSet<String>();
	    states.add("Active");
	    states.add("Trial");
	    parameters.put("IncludedStates", states);
 
	    echo(">> 01 >>");
	    JRCsvDataSource ds = getDataSource();
	    echo(">> 02 >>");
	    JasperFillManager.fillReportToFile(RAPPORT_PATH, parameters, ds);
	    echo(">> 03 >>");
	    System.err.println("Filling time : " + (System.currentTimeMillis() - start));
	  }
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try{
			fill();
		}
		catch(JRException e1){
			echoErr(e1.getMessage());
			e1.printStackTrace();
		}
}
Qui me retourne la trace suivante :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
>> 01 >>
>> 02 >>
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
	at java.lang.Class.getConstructor0(Class.java:2671)
	at java.lang.Class.newInstance0(Class.java:321)
	at java.lang.Class.newInstance(Class.java:303)
	at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:469)
	at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:235)
	at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:427)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:363)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:77)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:87)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:57)
	at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
	at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:513)
	at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:465)
	at GeneratePDF.fill(GeneratePDF.java:147)
	at GeneratePDF.main(GeneratePDF.java:157)
J'ai importé les JARs suivants dans mon projet :
  • mysql-connector-java-5.1.6-bin.jar
  • jasperreports-4.1.3.jar
  • commons-beanutils-1.8.0.jar
  • commons-collections-2.1.1.jar
  • commons-digester-1.7.jar
  • commons-javaflow-20060411.jar
  • commons-logging-1.0.4.jar
  • iText-2.1.7.jar
  • jdt-compiler-3.1.1.jar


Environnement :
  • OS : Win 7
  • Java 1.5.0.14 (pas le choix)
  • iReport 4.1.3
  • Jasper 4.1.3
  • IDE : Eclipse SDK

Si quelqu'un à une piste ou une idée de grosse bourde que j'aurais commise, je l'en remercie d'avance.

Bonne fin de journée à vous.
__________________
Patrick MACHO
patrickmacho@infomaniak.ch
Acasanva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/11/2011, 09h33   #2
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 713
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 713
Points : 2 712
Points : 2 712
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Bonjour,
je pense que tu trouveras ton bonheur ici.

Tiens nous au courant.
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h48.


 
 
 
 
Partenaires

Hébergement Web