If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler
NEW : We have got a new blog where we post some interesting SWF internals info.

#1499 ffdec fails to start: Could not initialize class com.jpexs.decompiler.flash.configuration.Configuration
Author:
nnyby

Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: Java 9
State: closed 

> What steps will reproduce the problem?
Running ffdec on Debian buster, with this java version:
$ java -version
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment (build 11.0.1+13-Debian-2)
OpenJDK 64-Bit Server VM (build 11.0.1+13-Debian-2, mixed mode, sharing)
> What is the expected output? What do you see instead?
I expect the program to start. Instead I see:
$ ffdec
/usr/bin/ffdec: line 30: [: too many arguments
/usr/bin/ffdec: line 32: [: too many arguments
/usr/bin/ffdec: line 36: [: too many arguments
/usr/bin/ffdec: line 38: [: too many arguments
/usr/bin/ffdec: line 42: [: too many arguments
/usr/bin/ffdec: line 44: [: too many arguments
/usr/bin/ffdec: line 48: [: too many arguments
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by
com.jpexs.decompiler.flash.configuration.Configuration
(file:/usr/share/java/ffdec/lib/ffdec_lib.jar) to field java.lang.reflect.Field.modifiers
WARNING: Please consider reporting this to the maintainers of
com.jpexs.decompiler.flash.configuration.Configuration
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access
operations
WARNING: All illegal access operations will be denied in a future release
Nov 28, 2018 2:23:31 PM com.jpexs.decompiler.flash.gui.Main main
SEVERE: Failed to load plugins
java.lang.Error: Can not set static final
com.jpexs.decompiler.flash.configuration.ConfigurationItem field
com.jpexs.decompiler.flash.configuration.Configuration.registerNameFormat to
com.jpexs.decompiler.flash.configuration.ConfigurationItem
at
com.jpexs.decompiler.flash.configuration.Configuration.setConfigurationFields(Configuratio
n.java:893)
at
com.jpexs.decompiler.flash.configuration.Configuration.<clinit>(Configuration.java:849)
at
com.jpexs.decompiler.flash.helpers.SWFDecompilerPlugin.getPluginsDir(SWFDecompilerPlugin.j
ava:61)
at
com.jpexs.decompiler.flash.helpers.SWFDecompilerPlugin.loadPlugins(SWFDecompilerPlugin.jav
a:78)
at com.jpexs.decompiler.flash.gui.Main.main(Main.java:1946)
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class
com.jpexs.decompiler.flash.configuration.Configuration
at com.jpexs.decompiler.flash.gui.Main.main(Main.java:1952)
> What version of the product are you using? Is it "nightly build"? Which operating system
do you have?
I can reproduce this problem on ffdec 11.1.0, 11.2.0, and 11.2.0 nightly 1710. That
definitely points to a java installation issue, but I'm not sure how to proceed. I had
ffdec working on this computer, and now it's giving me this error.
Downgrading to openjdk 10.0.2 fixed the problem for me!
This error appears on openjdk 13. You can fix this by switching to jre 8. Add this
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
to ffdec.sh, after row # FFDec requires Oracle Java 8
I have this exact issue in MX Linux 19 (based on Debian 10 Buster) and on Kubuntu 19.04, I
am not able to run JPEXS.
I tried both things mentioned in the previous posts without success. Is there a way to
provide a step-by-step guide in what I should do to get it working?
$ java -version
openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-1deb10u1, mixed mode)
FFDec requires java 8. It does not work on java 9 or newer. A lot of changes to the code
needs to be done to fix this. If Java 8 is available for your system, install it.
Thank you for the feedback.
Ok I finally got it to work by installing openjdk-8-jdk and removing openjdk-11-jre.
Is there a way to keep both installed and having FFDec use openjdk-8-jdk only, instead of
any other version installed?
You can run FFDec with specific JDK by running java executable (with -jar option) in that
JDK directory on "ffdec.jar".
create file.sh with something like:
#!/bin/sh
/openjdk8directory/bin/java -jar /pathtoffdec/ffdec.jar "%1"
Current version of FFDec should run on Java9+ without problems.
I am closing this issue.
State: new→closed