Skip to content

Remove JApplet check from SwingBuilder factory registration#2449

Closed
jochenberger wants to merge 1 commit intoapache:masterfrom
jochenberger:patch-1
Closed

Remove JApplet check from SwingBuilder factory registration#2449
jochenberger wants to merge 1 commit intoapache:masterfrom
jochenberger:patch-1

Conversation

@jochenberger
Copy link
Copy Markdown
Contributor

JApplet has been deprecated for quite some time now (since Java 9) and was finally removed in Java 26. That means that SwingBuilder will stop working in Java 26:

Exception in thread "main" java.lang.RuntimeException: Could not init groovy.swing.SwingBuilder because of an exception in groovy.swing.SwingBuilder.registerBasicLayouts
	at groovy.util.FactoryBuilderSupport.callAutoRegisterMethods(FactoryBuilderSupport.java:211)
	at groovy.util.FactoryBuilderSupport.autoRegisterNodes(FactoryBuilderSupport.java:185)
	at groovy.util.FactoryBuilderSupport.<init>(FactoryBuilderSupport.java:163)
	at groovy.swing.SwingBuilder.<init>(SwingBuilder.groovy:101)
	at groovy.swing.SwingBuilder.<init>(SwingBuilder.groovy)
...
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at groovy.util.FactoryBuilderSupport.callAutoRegisterMethods(FactoryBuilderSupport.java:206)
	... 6 more
Caused by: java.lang.NoClassDefFoundError: javax/swing/JApplet
	at groovy.swing.SwingBuilder.registerBeanFactory(SwingBuilder.groovy:303)
	at groovy.util.FactoryBuilderSupport.registerBeanFactory(FactoryBuilderSupport.java:644)
	at groovy.swing.SwingBuilder.registerBasicLayouts(SwingBuilder.groovy:229)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	... 8 more
Caused by: java.lang.ClassNotFoundException: javax.swing.JApplet
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:502)
	... 12 more

`JApplet` has been deprecated for quite some time now (since Java 9) and was finally removed in Java 26. That means that SwingBuilder will stop working in Java 26:
```
Exception in thread "main" java.lang.RuntimeException: Could not init groovy.swing.SwingBuilder because of an exception in groovy.swing.SwingBuilder.registerBasicLayouts
	at groovy.util.FactoryBuilderSupport.callAutoRegisterMethods(FactoryBuilderSupport.java:211)
	at groovy.util.FactoryBuilderSupport.autoRegisterNodes(FactoryBuilderSupport.java:185)
	at groovy.util.FactoryBuilderSupport.<init>(FactoryBuilderSupport.java:163)
	at groovy.swing.SwingBuilder.<init>(SwingBuilder.groovy:101)
	at groovy.swing.SwingBuilder.<init>(SwingBuilder.groovy)
...
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at groovy.util.FactoryBuilderSupport.callAutoRegisterMethods(FactoryBuilderSupport.java:206)
	... 6 more
Caused by: java.lang.NoClassDefFoundError: javax/swing/JApplet
	at groovy.swing.SwingBuilder.registerBeanFactory(SwingBuilder.groovy:303)
	at groovy.util.FactoryBuilderSupport.registerBeanFactory(FactoryBuilderSupport.java:644)
	at groovy.swing.SwingBuilder.registerBasicLayouts(SwingBuilder.groovy:229)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	... 8 more
Caused by: java.lang.ClassNotFoundException: javax.swing.JApplet
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:580)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:502)
	... 12 more
```
@paulk-asert
Copy link
Copy Markdown
Contributor

Merged, thanks!

@paulk-asert paulk-asert closed this Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants