Error when updating to 2022 - jdk.internal.loader.BuiltinClassLoader

I have recently updated our project from 2021 to 2022. Got all of the libraries updated, imaged the RoboRio and now I have this. I know the problem is something to do with the JDK, but i do not know enough about it to figure out a solution on my own without just downloading stuff at random and screwing up everything in the process. So if you know what this means and how to fix it, I am all ears.

You need to update vendor deps to 2022 as well. You have a 2021 vendor dep for Rev.

Where does it say that? All of those are 2022 thou?rev
I’m trying to get the newest version posted to github so i can link there, 1 sec

Com.revrobotics JNI loader is trying to find edu.wpi.first.wpiutil.RuntimeLoader. This class moved packages in 2022. Are you sure you don’t have a revrobotics vendor dep in addition to Revlib?

This is the current build I can working on. I only have the revlib.json in the vendordeps.

I suspect the SDS swerve library is pulling in an older Rev robotics library. Does SDS have a 2022 release?

It says it is updated.

It appears the 2022 updates were never published to At least when I go to and look up version 1.0.0, it was built back in November, before the 2022 changes were made to the github repo.

Hmm, okay. Ill post a issue on the sdslib github and see what i can do from there. Thank you

In the meantime you might be able to build and publish it locally? I’m not that familiar with jitpack though.

Ill look into it. I may just wait till SDS replies to my issue and probly just work with the build team on prototyping. Regardless, thank you man.

All you need to do is grab the swervelib folder (and its contents) from here and place it in the frc directory.

Thank you for the link, also looks like the normalizewheelspeeds for drivetrain perioidic also updated. As for directory, would i place this in the same file location as the project like it shows in the github, or do I have to do anything with the public/wpilib/2022/vendordeps?

You would place it in a structure similar to the github repo I linked. We are basically copying the vendordep files out and referencing them directly in the project. This has the advantage that we can modify them if we need to, but the downside that we won’t get updates from the official swervelib repo, but so far there haven’t really been many updates so that hasn’t been an issue.

Oh okay, that makes a lot of sense. Forgot that libraries are just files you could also modify if need be. Also just to confirm, you still need to do manage libraries and install it within vscode alongside adding it to the directory.

Once we add the files we are no longer using it as a vendordep so you can remove the .json file in the vendordep folder. This can be done by just deleting the file or going through manage libraries.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.