I have implemented a simple drop-in replacement for the java.util.zip.ZipOutputStream which uses the Zopfli algorithm: JZopfli-Stream.

try(ZopfliOutputStream zos=new ZopfliOutputStream(new FileOutputStream("file.zip"))){
    zos.putNextEntry(new ZipEntry("file.txt"));
    zos.write("content".getBytes());
}

Using this dependency:

<dependency>
    <groupId>com.github.luccappellaro</groupId>
    <artifactId>jzopfli-stream</artifactId>
    <version>0.0.2</version>
</dependency>