Vad är filformatet JASPER?
En .jasper-fil är en kompilerad JasperReports-rapportmall - den binära artefakt som produceras när JasperReports-motorn kompilerar en .jrxml-rapportdesignfil. Förhållandet speglar Java-kompilering: .jrxml är källkoden, .jasper är den kompilerade utdatan, analogt med en .class-fil kompilerad från .java-källkod.
Tekniskt sett är en .jasper-fil en standardiserad Java-serialiserad objektström med de magiska byten AC ED 00 05, som innehåller ett serialiserat net.sf.jasperreports.engine.JasperReport-objekt. Denna objektgraf inkluderar kompilerad bytekod för Groovy- eller Java-uttryck, rapportens bandstrukturer, stildefinitioner, parameterdeklarationer och fältmappningar. Eftersom formatet förlitar sig på Javas inbyggda objektserialisering är serialiserings-UID:t knutet till JasperReports-bibliotekets version - en .jasper-fil kompilerad med JR 6.x kan misslyckas med att laddas under JR 7.x och måste då kompileras om från den ursprungliga .jrxml-källan.
En .jasper-fil kan inte producera utdata på egen hand. Den kräver JasperReports-motorn för att fyllas med data och sedan exporteras till ett leveransformat som PDF, XLSX eller HTML. Rapporter designas i Jaspersoft Studio (som ersatte den nedlagda iReport under 2014) och körs i JasperReports Server eller valfri Java-applikation som bäddar in JasperReports-biblioteket.
JasperReports skapades 2001. Jaspersoft förvärvades av TIBCO 2014, och TIBCO förvärvades därefter av Cloud Software Group 2022.
Säkerhet & trygghet
RISK: MEDIUM.jasper-filer innehåller inbäddad kompilerad Java-bytekod (uttrycksklasser). En illvilligt utformad .jasper-fil skulle kunna utnyttja sårbarheter i Javas deserialisering (Javas serialiseringsformat är historiskt sett utsatt för attacker; se CVE-2015-4852 och relaterade gadget-kedjor). Ladda endast .jasper-filer från betrodda källor i kontrollerade miljöer. JasperReports 6.3+ har mildrat vissa risker; håll biblioteket uppdaterat.
Formatdetaljer
i ett nötskalProgram som öppnar JASPER-filer
Tekniska detaljer
djup specifikation| Formattyp | Binär Java-serialiserad objektström (kompilerad rapportmall) |
| Magiska byte | AC ED 00 05 (Java Object Serialization stream header) |
| Byteordning | Big-endian (Java-serialiseringsspecifikation) |
| Kodning | Binär (Java ObjectOutputStream-format) |
| Serialiserad rotklass | `net.sf.jasperreports.engine.JasperReport` |
| Typisk filstorlek | 10 KB - 5 MB (beror på inbäddade resurser för underrapporter) |
| Källformat | Kompilerad från `.jrxml` (XML-rapportdesign) |
| Versionskompatibilitet | Serialiserings-UID är knutet till JasperReports-biblioteksversion; vid större versionsskillnader krävs omkompilering från `.jrxml` |
| Inbäddat innehåll | Kompilerad bytekod för Groovy/Java-uttryck, bandstrukturer, stildefinitioner, parameter- och fältbeskrivningar |
| Krav för körtid | JasperReports-motor - fyll med JasperFillManager, exportera med JasperExportManager |
| Exportmål | PDF, XLSX, HTML, DOCX, CSV, ODS med flera via JasperExportManager |
| Plattform | Windows, Linux, macOS (valfri JVM-plattform) |
| Släppt | 2001 (JasperReports 0.1) |
| Senaste version | JasperReports 7.x (2024) |
| Specifikation | jasperreports.sourceforge.net |
JASPER-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om JASPER-filer.