apache commons compress で圧縮ファイル tar.gz を作成していたら、
階層が深かったり長すぎるファイル名で圧縮後、解凍を行ったときに、
PaxHeaders.X という名のディレクトリエントリ、中に展開したときに不完全に解凍されたファイルのパスが
作られてしまった。
tar の仕様の問題であるが、Apache commons compress で圧縮するときの回避として、
TarArchiveOutputStream の設定メソッドで、
setLongFileMode(TarArchiveOutputStream.LONGFILE_POSIX);
ではなく、
setLongFileMode(TarArchiveOutputStream.LONGFILE_GNU);
で設定する。
以下も修正
tar and zip の圧縮・展開 - Oboe吹きプログラマの黙示録