Apache POI - Download Release Artifacts
This page provides instructions on how to download and verify the Apache POI release artifacts. There are different versions available depending on how stable your code should be.
- The latest stable release is Apache POI 4.1.0
- Nightly/CI builds are available as well
- Archives of all prior releases
Apache POI releases are available under the Apache License, Version 2.0. See the NOTICE file contained in each release artifact for applicable copyright attribution notices.
To ensure that you have downloaded the true release you should verify the integrity of the files using the signatures and checksums available from this page.
09 April 2019 - POI 4.1.0 available
The Apache POI team is pleased to announce the release of 4.1.0. Featured are a handful of new areas of functionality and numerous bug fixes.
The POI source release as well as the pre-built binary deployment packages are listed below. Pre-built versions of all POI components are available in the central Maven repository under Group ID "org.apache.poi" and Version "4.1.0".
- poi-bin-4.1.0-20190412.tar.gz (27.32 MB, signature (.asc), checksum: SHA-256, SHA-512)
- poi-bin-4.1.0-20190412.zip (37.23 MB, signature (.asc), checksum: SHA-256, SHA-512)
The POI nightly builds are run on the Jenkins continuous integration server.
These builds should not be used in production: they are mostly intended for use by developers to help with resolving bugs and evaluating new features or users who want to try out the latest version.
It is essential that you verify the integrity of the downloaded files using the PGP and MD5 signatures. Please read Verifying Apache HTTP Server Releases for more information on why you should verify our releases. This page provides detailed instructions which you can use for POI artifacts.
The PGP signatures can be verified using PGP or GPG. First download the KEYS file as well as the .asc signature files for the relevant release packages. Make sure you get these files from the main distribution directory, rather than from a mirror. Then verify the signatures.
As an example:
% pgpk -a KEYS % pgpv poi-X.Y.Z.jar.asc
% pgp -ka KEYS % pgp poi-X.Y.Z.jar.asc
% gpg --import KEYS % gpg --verify poi-X.Y.Z.jar.asc poi-X.Y.Z.jar
Sample verification of poi-bin-3.5-FINAL-20090928.tar.gz
% gpg --import KEYS gpg: key 12DAE9BE: "Glen Stampoultzis <glens at apache dot org>" not changed gpg: key 4CEED75F: "Nick Burch <nick at gagravarr dot org>" not changed gpg: key 84B5A42E: "Rainer Klute <rainer.klute at gmx dot de>" not changed gpg: key F5BB52CD: "Yegor Kozlov <yegor.kozlov at gmail dot com>" not changed gpg: Total number processed: 4 gpg: unchanged: 4 % gpg --verify poi-bin-3.5-FINAL-20090928.tar.gz.asc poi-bin-3.5-FINAL-20090928.tar.gz gpg: Signature made Mon Sep 28 10:28:25 2009 PDT using DSA key ID F5BB52CD gpg: Good signature from "Yegor Kozlov <yegor.kozlov at gmail dot com>" gpg: aka "Yegor Kozlov <yegor at dinom dot ru>" gpg: aka "Yegor Kozlov <yegor at apache dot org>" Primary key fingerprint: 7D77 0C77 6CE7 754E E6AF 23AA 6934 0A02 F5BB 52CD % gpg --fingerprint F5BB52CD pub 1024D/F5BB52CD 2007-06-18 [expires: 2012-06-16] Key fingerprint = 7D77 0C77 6CE7 754E E6AF 23AA 6934 0A02 F5BB 52CD uid Yegor Kozlov <yegor.kozlov at gmail dot com> uid Yegor Kozlov <yegor at dinom dot ru> uid Yegor Kozlov <yegor at apache dot org> sub 4096g/7B45A98A 2007-06-18 [expires: 2012-06-16]