I'm working on javafx project and converted it to maven. I'm implementing progaurd in it and generate encrypted (with Obfuscation) jar. But when i try to run jar using
java -jar test.jar
give me following error->
Exception in thread "JavaFX Application Thread" Exception in thread "main" java.lang.VerifyError: Expecting a stackmap frame at branch target 47
Exception Details:
Location:
smartSearch/SmartSearch.setFontStyle(Ljava/lang/String;)V @3: ifnull
Reason:
Expected stackmap frame at this location.
Bytecode:
0x0000000: b200 2bc6 002c b200 2b12 03b6 004a 4c2b
0x0000010: c600 1f2b bb00 1259 b700 3912 02b6 003a
0x0000020: 2ab6 003a 1201 b600 3ab6 003b b600 47b1
0x0000030:
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplicationWithArgs$413(LauncherImpl.java:352)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$399(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$397(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$398(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
I'm using JDK 1.8 and i have searched lots of solution, some of them are as follows :-
Getting "Expecting a stackmap frame at branch target" when running Maven integration testing
Many more..
I found that -XX:-UseSplitVerifier not supported by JDK1.8 and alternative is -noverify . But when searched to set -noverify i'm confused where to set this and how.
I found on oracle doc that option -XX:-UseSplitVerifier was deprecated in JDK 8, and verification is now split by default without a way to disable it.
please help me.