Any of those help After compilation the resource files are part of a dll. So they do not exist anymore in the file system you distribute. If you need to have the resource files as a ressource then Hueso's solution is the only way of passing the files on to an external application. However, if you don't mind the files being accessible by the user you can set the BuildAction to Content and set the Copy to Output Directory to either Copy if newer or Copy always. The files are then copied into the output directory and can be accessed from there. If the files are in sub folders these subfolders are also copied into the output directory.
I think the issue was by ths following , The only way to find the location of a module file is to use __FILE__. Both FindBin and $0 always refer to the main script file. For the module, this is the neatest I could come up with. Your solution for the main code is fine, but you could use this alternative there as well.
use File::Basename 'fileparse';
$dir = (fileparse(File::Spec->rel2abs(__FILE__)));
use lib $dir.'../mod1';
Hope this helps If your Meteor application lives at myApp on disk then files under myApp/public will be available at root in HTML /. This means the url for image1.png should be simply /image1.png. It looks like ../../../../../../game4-dirs/public/image2.png is trying to access a file that is not below your meteor app's root directory. Meteor won't allow this on the client for obvious security reasons. If you want to use image2.png you should move it to your app's /public directory and then refer to it in html with simply /image2.png
Javadoc link to src/main/resource or src/test/resource file using relative path
To fix the issue you can do Not quite an answer but a feature of IDE: If you use Intellij IDEA, it is possible out-of-the-box. Where you load the file you must specify the path, right? So you Ctrl+click on a path and Intellij just brings you to the file.