2015-09-20 85 views
0

所以我有一个在Eclipse中完美运行的项目,但是当我将它导出为runnable .jar时,我的.png资源文件的路径不会因为src文件夹不包含在导出的.jar文件中。src文件夹不包含在导出.jar中搞乱了资源路径(Eclipse)

createTexture("resources/grass.png", 0); 

这是我使用路径的地方。

public static void createTexture(String path, int index){ 
    try (InputStream inputStream = Drawer.class.getClassLoader().getResourceAsStream(path)){ 
     textureDecoder = new PNGDecoder(inputStream); [...] 

现在我得到的错误

Exception in thread "main" java.lang.NullPointerException 
at de.matthiasmann.twl.utils.PNGDecoder.readFully(PNGDecoder.java:802) 
at de.matthiasmann.twl.utils.PNGDecoder.<init>(PNGDecoder.java:112) 
at workers.Drawer.createTexture(Drawer.java:80) 
at workers.Drawer.openglSetup(Drawer.java:44) 
at jonta.Main.setUp(Main.java:41) 
at jonta.Main.main(Main.java:121) 

OLD: 这显然是我的错误,当我尝试运行.jar:

java.io.FileNotFoundException: src\resources\grass.png 

我当然包括更多的代码/配置,如果这将是相关的。

编辑:问题解决了,谢谢!

+0

jar中的对象不是文件,无法使用File API进行访问。 –

回答

0

用途:

InputStream inputStream = className.class.getClassLoader().getResourceAsStream(path); 
+0

我知道我不能在静态上下文中使用_this_ – Jontahan

+0

为静态上下文编辑 – thegauravmahawar

0

在Eclipse中,选择 “导出...” 和 “JAR文件” 后,有一个 “导出Java源文件和资源” 复选框。您需要点击该复选框。

+0

没有改变任何东西 – Jontahan

相关问题