Unofficial docker images for JetBrains FernFlower Java decompiler basing on unofficial out-of-tree mirror fesh0r/fernflower.
Simplest example:
docker run --rm -v $(pwd):/src schnatterer/fernflower /src/Hello.class /src/
See also:
- fesh0r/fernflower for command line options.
- test/smoketest.sh a simple decompilation smoke test passed by these images
The images are built daily, using the latest commit of fernflower and the latest
version of the following base images.
See table bellow for more details.
native
- GraalVM (Substrate VM) native image inscratch
image (default)jre
- classic JVM/JRE-based (adoptopenjdk/openjdk8
)alpine-jre
- classic JVM/JRE-based (adoptopenjdk/openjdk8:alpine
)distroless
- classic JVM/JRE-based (gcr.io/distroless/java:8
)
For more deterministic builds, there are variants containing the git commits short hash referencing FernFlower's repo.
Base Image | Size | Shell | Package Manager | libc | Basic Linux Folders | Static Binary |
---|---|---|---|---|---|---|
native | ☐ | ☐ | ☐ | ☐ | ☒ | |
jre | ☒ | ☒ | ☒ | ☒ | ☐ | |
alpine-jre | ☒ | ☒ | ☒ | ☒ | ☐ | |
distroless | ☐ | ☐ | ☐ | ☒ | ☐ |
hooks/build
is picked up and executed by docker cloud build.- Try locally:
SKIP_PUSH=true hooks/build