Jump to content

[1.8] GradleForge: ClassLoader cannot be cast to class URLClassLoader


Recommended Posts

Hi, i would make an Client with Minecraft and ForgeGradle in Version 1.8, but when i would start it the log say me


2022-04-14 20:59:32,564 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2022-04-14 20:59:32,586 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[20:59:33] [main/INFO] [GradleStart]: Extra: []
Exception in thread "main" java.lang.ClassCastException: class jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$AppClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
    at net.minecraftforge.gradle.GradleForgeHacks.searchCoremods(GradleForgeHacks.java:87)
    at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:86)
    at GradleStart.main(GradleStart.java:26)

When i run it, Eclipse "teleport" me to GradleForgeHacks.class (i cant edit the file)
Can someone help me 😅 ?


for (URL url : ((URLClassLoader) GradleStartCommon.class.getClassLoader()).getURLs())
            if (!url.getProtocol().startsWith("file")) // because file urls start with file://
                continue; //         this isnt a file

            File coreMod = new File(url.toURI().getPath());
            Manifest manifest = null;

            if (!coreMod.exists())

            if (coreMod.isDirectory())
                File manifestMF = new File(coreMod, "META-INF/MANIFEST.MF");
                if (manifestMF.exists())
                    FileInputStream stream = new FileInputStream(manifestMF);
                    manifest = new Manifest(stream);
            else if (coreMod.getName().endsWith("jar")) // its a jar
                JarFile jar = new JarFile(coreMod);
                manifest = jar.getManifest();
                if (atRegistrar != null && manifest != null)
                    atRegistrar.invoke(null, jar);

            // we got the manifest? use it.
            if (manifest != null)
                String clazz = manifest.getMainAttributes().getValue(COREMOD_MF);
                if (!Strings.isNullOrEmpty(clazz))
                    GradleStartCommon.LOGGER.info("Found and added coremod: " + clazz);
                    coreMap.put(clazz, coreMod);


Link to comment
Share on other sites

This topic is now closed to further replies.


  • Create New...

Important Information

By using this site, you agree to our Terms of Use.