Hva er JASPER-filformatet?
En .jasper-fil er en kompilert JasperReports-rapportmal - det binære artefaktet som produseres når JasperReports-motoren kompilerer en .jrxml-rapportdesignfil. Forholdet speiler Java-kompilering: .jrxml er kildekoden, .jasper er det kompilerte resultatet, analogt med en .class-fil kompilert fra .java-kildekode.
Teknisk sett er en .jasper-fil en standard Java-serialisert objektstrøm med de magiske bytene AC ED 00 05, som inneholder et serialisert net.sf.jasperreports.engine.JasperReport-objekt. Denne objektgrafen inkluderer kompilert Groovy- eller Java-uttrykks-bytekode, rapportbåndstrukturer, stildefinisjoner, parameterdeklarasjoner og feltmappinger. Fordi formatet baserer seg på Javas innebygde objektserialisering, er serialiserings-UID-en knyttet til JasperReports-bibliotekversjonen - en .jasper-fil kompilert med JR 6.x kan mislykkes i å laste under JR 7.x og må kompileres på nytt fra den originale .jrxml-kilden.
En .jasper-fil kan ikke produsere utdata på egen hånd. Den krever JasperReports-motoren for å fylle den med data og deretter eksportere til et leveringsformat som PDF, XLSX eller HTML. Rapporter designes i Jaspersoft Studio (som erstattet den utgåtte iReport i 2014) og kjøres i JasperReports Server eller en hvilken som helst Java-applikasjon som bygger inn JasperReports-biblioteket.
JasperReports ble opprettet i 2001. Jaspersoft ble kjøpt opp av TIBCO i 2014, og TIBCO ble etterfølgende kjøpt opp av Cloud Software Group i 2022.
Sikkerhet og trygghet
RISIKO: MEDIUM.jasper-filer inneholder innebygd kompilert Java-bytekode (uttrykksklasser). En ondsinnet utformet .jasper kan utnytte sårbarheter i Java-deserialisering (Java-serialiseringsformatet er historisk utsatt for angrep; se CVE-2015-4852 og relaterte «gadget chains»). Last kun .jasper-filer fra pålitelige kilder i kontrollerte miljøer. JasperReports 6.3+ har redusert enkelte risikoer; hold biblioteket oppdatert.
Formatdetaljer
i et nøtteskallProgrammer som åpner JASPER-filer
Tekniske detaljer
dyp spesifikasjon| Formattype | Binær Java-serialisert objektstrøm (kompilert rapportmal) |
| Magiske byte | AC ED 00 05 (Java Object Serialization strøm-header) |
| Byterekkefølge | Big-endian (Java serialiseringsspesifikasjon) |
| Koding | Binær (Java ObjectOutputStream-format) |
| Rot-serialisert klasse | `net.sf.jasperreports.engine.JasperReport` |
| Typisk filstørrelse | 10 KB - 5 MB (avhenger av innebygde underrapport-ressurser) |
| Kildeformat | Kompilert fra `.jrxml` (XML-rapportdesign) |
| Versjonskompatibilitet | Serialiserings-UID er knyttet til JasperReports-bibliotekversjon; avvik i hovedversjon krever rekompilering fra `.jrxml` |
| Innebygd innhold | Kompilert Groovy/Java-uttrykks-bytekode, båndstrukturer, stildefinisjoner, parameter- og feltbeskrivelser |
| Kjøretidskrav | JasperReports-motor - fyll med JasperFillManager, eksporter med JasperExportManager |
| Eksportmål | PDF, XLSX, HTML, DOCX, CSV, ODS, og mer via JasperExportManager |
| Plattform | Windows, Linux, macOS (alle JVM-plattformer) |
| Utgitt | 2001 (JasperReports 0.1) |
| Siste versjon | JasperReports 7.x (2024) |
| Spesifikasjon | jasperreports.sourceforge.net |
JASPER-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om JASPER-filer.