JVM arguments don't seem to be the cause for this issue.
The jdk8 compatibility guide does indeed list removed options that you may had to set to run large applications in Java 7. Those small example applications still run fine without using this setting in Java 7 though. In Java 8 there is no more need to set those options:
The command line flags
PermSize
andMaxPermSize
have been removed and are ignored.
The full stack trace indicates an incompatibility in the plastic library for bytecode manipulation. The root exception is thrown because the library's ClassReader
includes this check and it doesn't seem to care in which version the application has been compiled:
// checks the class version
if (readShort(6) > Opcodes.V1_7) {
throw new IllegalArgumentException();
}