问题
private ConfigurableEmitter emitter;
File xmlFile = new File("ressources/emitter.xml");
emitter = ParticleIO.loadEmitter(xmlFile);
If I launch the project in eclipse, everything will works fine, but after I export my project and use JarSplice to create a .jar file, when I launch the jar file using the command prompt, the program will crash launching a FileNotFoundException, saying it cannot find the path specified.
java.io.FileNotFoundException: ressources\emitter.xml (The system cannot find the
path specified)
The surprising thing is that just before opening the xml file, I open a .png file located at the same place as the xml file, and this without any problem. In addition, when I open the .jar file I exported using winrar, I can find my xml file under the ressources folder. What can be the problem here?
Thank you!
EDIT :
Code with solution:
InputStream i=this.getClass().getClassLoader().
getResourceAsStream("ressources/test.xml");
emitter = ParticleIO.loadEmitter(i);
回答1:
When you pack your project to JAR your resource don't live on disk, but are compressed into the JAR itself and you have to load as resource.
There are a lot of guide on SO on how to load resource from JAR using ClassLoader.getResourceAsStrem()
(follow this link)
来源:https://stackoverflow.com/questions/18093092/xml-filenotfoundexception-using-slick2d-library-in-java