java.lang.ClassCastException: class sun.net.www.protocol.file.FileURLConnection cannot be cast to class java.net.JarURLConnection

Ok, sounds like that is the problem, the class/resource loader is getting confused by the extra resources folder.

getDataArchive() will go to the Jar archive you specify in your run config, never to external files, Your images should be loaded from the images file there, even when running under the debugger and your resources (classes) are being loaded from the target directory.

This is somewhat confused because you are building an extension, not custom code that will be loaded directly into the module.

So, create and install an extension jar file and manually add your images and the current version of your custom code. When you run the Player over the module that has the extension loaded, it should pull the images from that jar, but use the classes in the target folder.

I wouldn’t worry too much about building the entire Jar via Maven, but if you can succeed, it will be interesting to know how.