我在这个论坛上看过这个话题,但是我需要一个关于如何做到这一点的更基本的解释。
我用Java编写了一个带有一些外部库(LWJGL和Slick)的程序。
所以这就是我所做的,我的程序无论如何都不会启动,告诉我哪里做错了。
我有Eclipse 3.7.1
我错过了什么?
我的程序使用图像这样的图形:
image = new Image("images/filname.png");
我想知道我是否需要在导出之前更改路径或加载这些路径?
谢谢!
答案 0 :(得分:0)
如果你想从jar文件中获取内容,你需要将它们放在类路径中并将它们作为资源访问。
您使用的构造函数是指无法在jar文件中查看的物理文件。
(编辑)另请注意,您无法保证当前工作目录的位置。因此,如您所见,任何相对引用都可能会破坏。
答案 1 :(得分:0)
Read this学习如何使用JarSplice将Eclipse项目导出到可运行的jar文件中。关于图像,您可以将它们放在与类文件相同的目录中(在jar中),然后编写
SampleClass.class.getResourceAsStream("image.png")以检索图像的InputStream。然后你可以随意加载它。
答案 2 :(得分:-1)
我有同样的问题,我能够解决它。我所做的只是将数据文件夹(包含我的资源)复制到<。em> * .jar文件中。例如,您可以使用WinRAR执行此操作。