Burp Suite User Forum

Create new post

Using JavaFX version 17

Jan | Last updated: Mar 21, 2023 11:49PM UTC

Hi there, I have an extension that includes JavaFX 17, and when I run Burp like .jar file this extension upload and work correctly, but If I try to upload this extension in installed Burp (dmg or exe) I am getting the following error and the whole Burp crash: com.diffplug.common.base.Errors$WrappedAsRuntimeException: java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils at com.diffplug.common.base.Errors.asRuntime(Errors.java:295) at com.diffplug.common.base.Errors$Rethrowing.lambda$new$14(Errors.java:246) at com.diffplug.common.base.Errors.lambda$wrap$9(Errors.java:165) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) Caused by: java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils at com.sun.javafx.embed.swing.newimpl.JFXPanelInteropN.postEvent(JFXPanelInteropN.java:36) at javafx.embed.swing.JFXPanel.invokeOnClientEDT(JFXPanel.java:938) at javafx.embed.swing.JFXPanel$HostContainer.setEmbeddedScene(JFXPanel.java:985) at com.sun.javafx.tk.quantum.EmbeddedScene.setStage(EmbeddedScene.java:122) at com.sun.javafx.tk.quantum.GlassStage.setScene(GlassStage.java:95) at com.sun.javafx.tk.quantum.EmbeddedStage.setScene(EmbeddedStage.java:62) at javafx.stage.Window$12.invalidated(Window.java:1093) at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) at javafx.stage.Window.setShowing(Window.java:1190) at javafx.stage.Window.show(Window.java:1205) at com.sun.javafx.stage.EmbeddedWindow.show(EmbeddedWindow.java:71) at javafx.embed.swing.JFXPanel.setSceneImpl(JFXPanel.java:330) at javafx.embed.swing.JFXPanel.setScene(JFXPanel.java:297) at burp.BurpExtender$1.lambda$run$3(BurpExtender.java:96) at com.diffplug.common.base.Errors.lambda$wrap$9(Errors.java:163) ... 4 more I am using JDK 17 and JavaFX 17. Do you know how fit this error? Thank you

Hannah, PortSwigger Agent | Last updated: Mar 22, 2023 01:18PM UTC

Hi The installer version of Burp comes packaged with its own JRE. This module is not present in the packaged JRE, which is why you are experiencing this issue. When you use the standalone JAR version of Burp, you are using your own version of Java, which does include this module. This is why your extension works correctly in this instance.

Jan | Last updated: Mar 22, 2023 06:08PM UTC

Hi, that makes sense, thank you for the explanation. Is there a way to make this extension with JavaFX make work on native Burp? Thank you

Hannah, PortSwigger Agent | Last updated: Mar 23, 2023 09:34AM UTC

If you're using a build manager like Maven or Gradle, you could include it as a dependency. Alternatively, if you go to "Extensions > Extension settings > Java environment", you can provide a folder for loading library JAR files. That may be of use.

You must be an existing, logged-in customer to reply to a thread. Please email us for additional support.