@@ -109,7 +109,7 @@ protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundE
109109 } else {
110110 c = findLoadedClass (name );
111111 if (c == null ) {
112- URL resource = findResource (name .replace ('.' , '/' ) + ".class" );
112+ URL resource = this . findResource (name .replace ('.' , '/' ) + ".class" );
113113 if (resource != null ) {
114114 synchronized (getClassLoadingLock (name )) {
115115 c = findClassImpl (name , resource );
@@ -119,7 +119,7 @@ protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundE
119119 c = super .loadClass (name , false );
120120 } catch (SecurityException securityException ) {
121121 throw new ClassNotFoundException (name , securityException );
122- } catch (ClassNotFoundException e ) {
122+ } catch (ClassNotFoundException | UnsupportedClassVersionError e ) {
123123 synchronized (getClassLoadingLock (name )) {
124124 c = findClassImpl (name , null );
125125 }
@@ -506,11 +506,14 @@ public static boolean isSpecialClassName(String cls) {
506506 cls .startsWith ("com.unascribed.ears." ) ||
507507 cls .startsWith ("com.llamalad7.mixinextras." ) ||
508508 cls .startsWith ("com.bawnorton.mixinsquared." ) ||
509+ cls .startsWith ("com.moulberry.mixinconstraints." ) ||
509510 cls .startsWith ("fr.catcore.cursedmixinextensions." ) ||
510511 cls .startsWith ("org.spongepowered." ) ||
511512 cls .startsWith ("org.objectweb.asm." ) ||
512513 cls .startsWith ("com.fox2code.rebuild." ) ||
513514 cls .startsWith ("com.fox2code.foxevents." ) ||
515+ // We also need to add Java21+ dependencies here to prevent crashes.
516+ cls .startsWith ("blue.endless.jankson." ) ||
514517 // Cover an edge case of loading spark in a development environment
515518 cls .startsWith ("me.lucko.spark." ) ||
516519 // Special case for JVMDowngrader
0 commit comments