Hvad er JASPER-filformatet?
En .jasper-fil er en kompileret JasperReports-rapportskabelon - det binære artefakt, der produceres, når JasperReports-motoren kompilerer en .jrxml-rapportdesignfil. Forholdet afspejler Java-kompilering: .jrxml er kildekoden, .jasper er det kompilerede output, svarende til en .class-fil kompileret fra .java-kildekode.
Teknisk set er en .jasper-fil en standard Java-serialiseret objektstrøm med de «magic bytes» AC ED 00 05, der indeholder et serialiseret net.sf.jasperreports.engine.JasperReport-objekt. Denne objektgraf inkluderer kompileret Groovy- eller Java-udtryks-bytecode, rapportbåndstrukturer, stildefinitioner, parameterdeklarationer og felt-mappings. Da formatet afhænger af Javas indbyggede objektserialisering, er serialiserings-UID'et knyttet til JasperReports-biblioteksversionen - en .jasper-fil kompileret med JR 6.x kan fejle ved indlæsning under JR 7.x og skal rekompileres fra den originale .jrxml-kilde.
En .jasper-fil kan ikke producere output på egen hånd. Den kræver JasperReports-motoren til at udfylde den med data og derefter eksportere til et leveringsformat såsom PDF, XLSX eller HTML. Rapporter designes i Jaspersoft Studio (som erstattede den udgåede iReport i 2014) og afvikles i JasperReports Server eller enhver Java-applikation, der indlejrer JasperReports-biblioteket.
JasperReports blev oprettet i 2001. Jaspersoft blev opkøbt af TIBCO i 2014, og TIBCO blev efterfølgende opkøbt af Cloud Software Group i 2022.
Sikkerhed og tryghed
RISIKO: MEDIUM.jasper-filer indeholder indlejret kompileret Java-bytecode (udtryksklasser). En ondsindet udformet .jasper-fil kan udnytte sårbarheder i Java-deserialisering (Java-serialiseringsformatet er historisk set udsat for angreb; se CVE-2015-4852 og relaterede «gadget chains»). Indlæs kun .jasper-filer fra betroede kilder i kontrollerede miljøer. JasperReports 6.3+ har afbødet nogle risici; hold biblioteket opdateret.
Formatdetaljer
kort fortaltProgrammer der åbner JASPER-filer
Tekniske detaljer
dyb specifikation| Format-type | Binær Java-serialiseret objektstrøm (kompileret rapportskabelon) |
| Magic bytes | AC ED 00 05 (Java Object Serialization stream header) |
| Byte-orden | Big-endian (Java-serialiseringsspecifikation) |
| Kodning | Binær (Java ObjectOutputStream-format) |
| Serialiseret rod-klasse | `net.sf.jasperreports.engine.JasperReport` |
| Typisk filstørrelse | 10 KB - 5 MB (afhænger af indlejrede underrapport-ressourcer) |
| Kildeformat | Kompileret fra `.jrxml` (XML-rapportdesign) |
| Versionskompatibilitet | Serialiserings-UID er knyttet til JasperReports-biblioteksversionen; uoverensstemmelse i hovedversion kræver rekompilering fra `.jrxml` |
| Indlejret indhold | Kompileret Groovy/Java-udtryks-bytecode, båndstrukturer, stildefinitioner, parameter- og feltbeskrivelser |
| Runtime-krav | JasperReports-motor - udfyld med JasperFillManager, eksporter med JasperExportManager |
| Eksportmål | PDF, XLSX, HTML, DOCX, CSV, ODS og flere via JasperExportManager |
| Platform | Windows, Linux, macOS (enhver JVM-platform) |
| Udgivet | 2001 (JasperReports 0.1) |
| Seneste version | JasperReports 7.x (2024) |
| Specifikation | jasperreports.sourceforge.net |
JASPER-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om JASPER-filer.