打开图像,即.jar文件

时间:2017-11-05 20:20:49

标签: java jar

我知道之前曾多次询问过这个问题,但没有一个解决方案能解决我的问题(或者我只是不知道如何正确调整它们)。

我尝试编写一个应用程序,它应该打开一个位于应用程序jar文件内部的图像。

jar文件是由maven创建的,所以最初的图片是在我的maven项目的src / main / resources目录中,它最终会在我的jar文件的基目录中。

程序本身由两个java文件和一个fxml文件组成。一个java文件是我的主类(称为imageviewer.java),另一个java文件是我的javafx控制器(称为Contoller.java)。

应该打开图片的方法在Controller.java文件中。

我发现的解决方案都使用了getclass()。getResources ...,但在这种情况下它不起作用(可能因为它不是一个由单个类组成的jar文件)。最终maven生成的jar文件的名称为imageviewer-0.0.1-SNAPSHOT.jar。

如何访问其中的图像?

1 个答案:

答案 0 :(得分:0)

好的,我确实找到了解决方案。

在Eclipse中,我只能在与java文档位于同一文件夹中时访问该图像。在我将它移动到“Resources”文件夹(它在maven项目中所属的位置)后,我无法通过相对路径访问它。

我所要做的就是在resources文件夹中创建一个新包,该包被称为与java文件所在的包完全相同。

所以我的项目结构现在看起来像这样:

的src /主/爪哇/ myPackageName / MyJavaFiles.java

的src /主/资源/ myPackageName / Imagename.jpg

之后我能够使用getClass()获取.getResourcesAsStream(“Imagename.jpg”);