【发布时间】:2013-07-15 10:14:30
【问题描述】:
我有一个使用 LWJGL 的 Java 程序。它在 Eclipse 中运行良好,但是当我尝试将其编译为 jar 文件时它崩溃,给我一个 NullPointerException。以前有人问过,我知道,但我似乎没有得到有效的答案。这里有什么帮助吗?提前致谢!
似乎有问题的是TextureHelper类:
public class TextureHelper {
public static Texture LoadTexture(String texture)
{
try {
return TextureLoader.getTexture("PNG", ResPlaceholder.class.getResourceAsStream(texture));
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
一些注意事项:
我也尝试过“/res/”+纹理,以及许多其他类似的东西。
ResPlaceholder 是一个类,它位于我存储所有图像的 res 文件夹中。这是一个空白的空类。
这在 Eclipse 中完美运行。
我的 jar 有这些文件夹(仅作为示例):
foo.jar
----核心
--------纹理加载器
----回复
-------- 各种图像文件
-------- ResPlaceholder
这个和eclipse中的包是一样的
您的任何帮助将不胜感激,我已经坚持了好几天没有进展。
编辑:
META-INF/MANIFEST.MF
Main.class 配置/
配置/Images.class
核心/
核心/LevelLoader.class
核心/TextureHelper.class
core/TileSet.class
-跳过一些与此无关的其他内容-
分辨率/
res/ResPlaceholder.class
res/BlankImg.png
res/test.txt
res/testImg.png
res/testTiles.png
【问题讨论】:
-
您能否展示一张 Eclipse 包资源管理器的小图,以准确显示纹理资源相对于类文件的位置?或者更好的是,向我们展示您使用
jar tf myJarFile.jar的结果 -
作为一个实验,看看你是否使用
getResource(texture).. 获得了一个有效的 URL。 -
Andrew Thompson,我很困惑我将使用 URL 做什么。这不是一个小程序,它只是一个标准文件。满载鳗鱼的气垫船,我马上就去,就一点点。
-
@HovercraftFullOfEels,这里是相关文件:imgur.com/VGPvNso
-
@Keon:请把
jar tf myJar.jar返回的信息贴在这里。
标签: java image lwjgl embedded-resource