<?xml version="1.0" encoding="utf-8"?>
<PRONOM-Report xmlns="http://pronom.nationalarchives.gov.uk">
  <report_format_detail>
    <FileFormat>
      <FormatID>777</FormatID>
      <FormatName>Java Archive Format</FormatName>
      <FormatVersion>
      </FormatVersion>
      <FormatAliases>JAR</FormatAliases>
      <FormatFamilies>
      </FormatFamilies>
      <FormatTypes>Aggregate</FormatTypes>
      <FormatDisclosure>
      </FormatDisclosure>
      <FormatDescription>JAR stands for Java ARchive. It's is based on the ZIP file format (x-fmt/26) and is used for aggregating many files into one, and reducing file size. One of the original purposes of JAR files was to bundle multiple Java applets and their requisite components (.class files, images and sounds) into a JAR file, which could then be downloaded to a browser in a single HTTP transaction; these could then be run over the web. JAR files can also be "executable" both on Linux, via a command such as `java -jar &lt;jar-name&gt;` and Windows, where the file-format extension '*.jar' may be associated with the Java Runtime Environment. As executable code can potentially be harmful, e.g. used in the distribution of malware, the JAR supports digital signing so that the source of the items in a JAR file can be verified. JAR consists of a zip archive, as defined by PKWARE, containing a manifest file and potentially signature files, as defined in the JAR.</FormatDescription>
      <BinaryFileFormat>Text</BinaryFileFormat>
      <ByteOrders>
      </ByteOrders>
      <ReleaseDate>
      </ReleaseDate>
      <WithdrawnDate>
      </WithdrawnDate>
      <ProvenanceSourceID>1</ProvenanceSourceID>
      <ProvenanceName>Digital Preservation Department / The National Archives</ProvenanceName>
      <ProvenanceSourceDate>17 Feb 2006</ProvenanceSourceDate>
      <ProvenanceDescription>This format can be identified via a container signature in DROID version 6 or later. The PRONOM database cannot currently represent container signatures.; 04/2024 (v.117): Description and links added as part of PRONOM Research Week 2023. Submitted by Ross Spencer.</ProvenanceDescription>
      <LastUpdatedDate>17 Apr 2024</LastUpdatedDate>
      <FormatNote>https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jarGuide.html
https://docs.oracle.com/javase/7/docs/technotes/guides/jar/index.html
Specification: https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jarGuide.html</FormatNote>
      <FormatRisk>
      </FormatRisk>
      <TechnicalEnvironment>
      </TechnicalEnvironment>
      <FileFormatIdentifier>
        <Identifier>application/java-archive</Identifier>
        <IdentifierType>MIME</IdentifierType>
      </FileFormatIdentifier>
      <FileFormatIdentifier>
        <Identifier>com.sun.java-archive</Identifier>
        <IdentifierType>Apple Uniform Type Identifier</IdentifierType>
      </FileFormatIdentifier>
      <FileFormatIdentifier>
        <Identifier>x-fmt/412</Identifier>
        <IdentifierType>PUID</IdentifierType>
      </FileFormatIdentifier>
      <ExternalSignature>
        <ExternalSignatureID>775</ExternalSignatureID>
        <Signature>jar</Signature>
        <SignatureType>File extension</SignatureType>
      </ExternalSignature>
      <InternalSignature>
        <SignatureID>199</SignatureID>
        <SignatureName>JAR format</SignatureName>
        <SignatureNote>Local file header + manifest + end of central directory. Signature consists of two byte sequences, a BOF sequence and EOF sequence. BOF character sequence: PK..*META-INF/MANIFEST.MF, EOF character sequence: PK..</SignatureNote>
        <ByteSequence>
          <ByteSequenceID>257</ByteSequenceID>
          <PositionType>Absolute from BOF</PositionType>
          <Offset>0</Offset>
          <MaxOffset>
          </MaxOffset>
          <IndirectOffsetLocation>
          </IndirectOffsetLocation>
          <IndirectOffsetLength>
          </IndirectOffsetLength>
          <Endianness>
          </Endianness>
          <ByteSequenceValue>504B0304*4D4554412D494E462F4D414E49464553542E4D46</ByteSequenceValue>
        </ByteSequence>
        <ByteSequence>
          <ByteSequenceID>366</ByteSequenceID>
          <PositionType>Absolute from EOF</PositionType>
          <Offset>18</Offset>
          <MaxOffset>65531</MaxOffset>
          <IndirectOffsetLocation>
          </IndirectOffsetLocation>
          <IndirectOffsetLength>
          </IndirectOffsetLength>
          <Endianness>
          </Endianness>
          <ByteSequenceValue>504B0506</ByteSequenceValue>
        </ByteSequence>
      </InternalSignature>
      <RelatedFormat>
        <RelationshipType>Has lower priority than</RelationshipType>
        <RelatedFormatID>778</RelatedFormatID>
        <RelatedFormatName>OpenDocument Format</RelatedFormatName>
        <RelatedFormatVersion>1.0</RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has lower priority than</RelationshipType>
        <RelatedFormatID>783</RelatedFormatID>
        <RelatedFormatName>OpenDocument Database Format</RelatedFormatName>
        <RelatedFormatVersion>1.0</RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has lower priority than</RelationshipType>
        <RelatedFormatID>1206</RelatedFormatID>
        <RelatedFormatName>OpenDocument Database Format</RelatedFormatName>
        <RelatedFormatVersion>1.2</RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has lower priority than</RelationshipType>
        <RelatedFormatID>1231</RelatedFormatID>
        <RelatedFormatName>OpenDocument Database Format</RelatedFormatName>
        <RelatedFormatVersion>1.1</RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has priority over</RelationshipType>
        <RelatedFormatID>382</RelatedFormatID>
        <RelatedFormatName>ZIP Format</RelatedFormatName>
        <RelatedFormatVersion>
        </RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has priority over</RelationshipType>
        <RelatedFormatID>643</RelatedFormatID>
        <RelatedFormatName>Extensible Hypertext Markup Language</RelatedFormatName>
        <RelatedFormatVersion>1.0</RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has priority over</RelationshipType>
        <RelatedFormatID>644</RelatedFormatID>
        <RelatedFormatName>Extensible Hypertext Markup Language</RelatedFormatName>
        <RelatedFormatVersion>1.1</RelatedFormatVersion>
      </RelatedFormat>
      <RelatedFormat>
        <RelationshipType>Has priority over</RelationshipType>
        <RelatedFormatID>645</RelatedFormatID>
        <RelatedFormatName>Hypertext Markup Language</RelatedFormatName>
        <RelatedFormatVersion>
        </RelatedFormatVersion>
      </RelatedFormat>
    </FileFormat>
    <SearchCriteria>Criteria</SearchCriteria>
  </report_format_detail>
</PRONOM-Report>
