Che cos'è il formato di file JASPER?
Un file .jasper è un modello di report JasperReports compilato: l'artefatto binario prodotto quando il motore JasperReports compila un file di progettazione del report .jrxml. La relazione rispecchia la compilazione Java: .jrxml è il sorgente, .jasper è l'output compilato, analogamente a un file .class compilato da un sorgente .java.
Tecnicamente, un file .jasper è un flusso di oggetti serializzati Java standard con i magic bytes AC ED 00 05, contenente un oggetto net.sf.jasperreports.engine.JasperReport serializzato. Questo grafo di oggetti include bytecode di espressioni Groovy o Java compilate, strutture delle bande del report, definizioni di stile, dichiarazioni di parametri e mappature dei campi. Poiché il formato si basa sulla serializzazione degli oggetti integrata in Java, l'UID di serializzazione è legato alla versione della libreria JasperReports: un file .jasper compilato con JR 6.x potrebbe non caricarsi correttamente sotto JR 7.x e deve essere ricompilato dal sorgente .jrxml originale.
Un file .jasper non può produrre output da solo. Richiede il motore JasperReports per essere riempito con i dati e poi esportato in un formato di consegna come PDF, XLSX o HTML. I report vengono progettati in Jaspersoft Studio (che ha sostituito il software iReport, dismesso nel 2014) ed eseguiti all'interno di JasperReports Server o di qualsiasi applicazione Java che incorpori la libreria JasperReports.
JasperReports è stato creato nel 2001. Jaspersoft è stata acquisita da TIBCO nel 2014 e TIBCO è stata successivamente acquisita da Cloud Software Group nel 2022.
Sicurezza e incolumità
RISCHIO: MEDIUMI file .jasper contengono bytecode Java compilato incorporato (classi di espressione). Un file .jasper creato con intenti malevoli potrebbe sfruttare le vulnerabilità di deserializzazione di Java (il formato di serializzazione Java è storicamente soggetto ad attacchi; vedere CVE-2015-4852 e le relative catene di gadget). Caricare file .jasper solo da fonti attendibili all'interno di ambienti controllati. JasperReports 6.3+ ha mitigato alcuni rischi; mantenere la libreria aggiornata.
Dettagli del formato
in sintesiProgrammi che aprono file JASPER
Dettagli tecnici
specifiche approfondite| Tipo di formato | Flusso di oggetti serializzati Java binari (modello di report compilato) |
| Magic bytes | AC ED 00 05 (intestazione del flusso di serializzazione degli oggetti Java) |
| Ordine dei byte | Big-endian (specifica di serializzazione Java) |
| Codifica | Binaria (formato Java ObjectOutputStream) |
| Classe serializzata radice | `net.sf.jasperreports.engine.JasperReport` |
| Dimensione tipica del file | 10 KB - 5 MB (dipende dalle risorse dei sottoreport incorporati) |
| Formato sorgente | Compilato da `.jrxml` (design del report XML) |
| Compatibilità di versione | UID di serializzazione legato alla versione della libreria JasperReports; la mancata corrispondenza della versione principale richiede la ricompilazione da `.jrxml` |
| Contenuto incorporato | Bytecode di espressioni Groovy/Java compilate, strutture delle bande, definizioni di stile, descrittori di parametri e campi |
| Requisito di runtime | Motore JasperReports - popolamento con JasperFillManager, esportazione con JasperExportManager |
| Destinazioni di esportazione | PDF, XLSX, HTML, DOCX, CSV, ODS e altri tramite JasperExportManager |
| Piattaforma | Windows, Linux, macOS (qualsiasi piattaforma JVM) |
| Rilasciato | 2001 (JasperReports 0.1) |
| Ultima versione | JasperReports 7.x (2024) |
| Specifica | jasperreports.sourceforge.net |
Conversioni JASPER
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file JASPER.