Introduction

XZ for Java aims to be a complete implementation of XZ data compression in pure Java.

Features:

  • Single-threaded streamed compression and decompression

  • Random access decompression

  • LZMA2, Delta, and BCJ filters[1]

  • Support for the old .lzma format in addition to .xz

  • Raw compressed streams without any file format headers

Threading is planned but has not been implemented.

Documentation

The API documentation was generated from the latest release with javadoc.

Releases

Version 1.9 was released on 2021-03-12. See the NEWS file for the summary of changes between versions.

The release files have been signed with this OpenPGP key.

Source code

Binaries

XZ for Java is available in Maven Central:

  • groupId = org.tukaani

  • artifactId = xz

Development

The Git repository is on GitHub:

git clone https://github.com/tukaani-project/xz-java

The repository is mirrored to git.tukaani.org as well.

Licensing

Version 1.9 and older are in the public domain. The upcoming 1.10 and later versions will be under the BSD Zero Clause License (0BSD).


1. ARM64 and RISC-V filters are in the Git repository but not part of an official release yet.