[diffoscope] diffoscope (JVM bytecode) is not supported for Java 21
Chris Lamb
chris at reproducible-builds.org
Thu Jul 25 12:11:37 UTC 2024
Hello Aman,
> I have been using diffoscope to diff between Java classfiles. However,
> it seems to be unsupported for JDK >= 21 because procyon fails to
> decompile the code.
Do you know why it doesn't decompile the code? I see in your output:
> │┄ Command `'procyon -ec {}'` failed with exit code 1. Standard output:
Can you run that on the command line? In the first instance, it would
be great to get confirmation that your procyon installation works
fine. Or, putting it another way: if procyon cannot disassemble the
code, there is very little that diffoscope can do.
> With JDK 17, diffoscope either shows the diff between the disassembled
> output or decompiled output (side question, how does it decide between
> the two?).
diffoscope tries procyon first and determines whether that shows any
difference. If it doesn't, it will fallback to javap. (And then to
hexdump.)
Best wishes,
--
o
⬋ ⬊ Chris Lamb
o o reproducible-builds.org 💠
⬊ ⬋
o
More information about the diffoscope
mailing list