当前位置: 首页 > 面试题库 >

图片不会从jar文件加载

狄冥夜
2023-03-14
问题内容

我已经尝试搜索,但仍然没有解决方案。当我导出到jar文件时,我的所有图像突然不再起作用。它们在Eclipse中运行良好,并且我已确保它们在jar文件中。我尝试使用get资源方法并制作一个图像加载器类来自动向上目录树,但它仍然失败。这是我所做的:

public static Image load(String path)
{   String temp = path;
    Image image = null;
    try {

     image = new ImageIcon(path).getImage();


    }

    catch ( Exception e )
    {   
        try {
         while (image == null )
         {
              image = new ImageIcon("../"+ path).getImage();
         }
         if ( path.equals("../../../../../../"+ temp))
         {
             while ( image ==null)
             {
                 image = new ImageIcon("./"+ path).getImage();
             }
         }
        }
        catch ( Exception ae)
        {


        System.err.println("cannot locate image");
    }}


    return image;
}

我将发送的路径如下所示:“ doc / icon.png”

我将所有图像放置在doc文件夹中,结构是最终项目,在内部有doc文件夹,然后是src文件夹,其中包含所有软件包。


问题答案:

尝试使用此:

Image.class.getClassLoader().getResource("/filepath/filename").getFile()


 类似资料:
  • 我目前正在制作一个Minecraft Mod Loader。 正如您在上面看到的,我有一个名为Client的类。当Minecraft游戏启动时,启动被调用。现在我有一个名为Mods的文件夹,在调用startup时,我需要将Mods从Mods文件夹加载到ArrayList命名模块中。更深入地说,每个Mod将有一个继承这个模块类的主类 因此,在调用startup时,我需要遍历mods文件夹中的每个Mo

  • 我正在尝试从可执行JAR文件加载图像。 我跟踪了这里的信息,然后是这里的信息。 这是检索图像的函数: 这就是它的名称: 这是一个简单的对象。我也不会得到NullPointerException,除非它被UI屏蔽。 我检查了JAR文件,图像位于: /图片/标识1。巴布亚新几内亚 当前代码在eclipse中以及导出到JAR并在终端中运行时都有效,但在双击JAR时不起作用,在这种情况下,图标是默认的JF

  • 我有一个相对较大的Web项目,为了简化开发过程,我决定将项目分成几个模块(带有模型、控制器的jar项目 如何从jar的META-INF/resources目录强制执行spring mvc负载视图模板? 我知道静态资源可以通过配置加载 我的主模块中的视图解析器如下所示 似乎没有任何地方可以指定jar中的视图路径。 我希望从主模块的/WEB-INF/jsp加载相同的视图,从jar文件的META-INF

  • 问题内容: 当我在eclipse中导出可执行jar文件时,也需要使用res文件夹进行编译,当我使用不起作用的方法时。 当前读取的图像代码 代码无效 问题答案: 我现在已经解决了问题-这是有效的代码 fileName的值只是一个图像名称,例如BufferedImage img = loadImage(“ background.png”); 感谢大家的帮助。

  • 我正在开发一个Spring Boot应用程序。我想提供一个(相当初级的)插件系统。最初,我希望只将JAR添加到类路径中就足够了,如下所示: 此外,如果我尝试在插件控制器中一个JpaRepository,它会失败,因为它找不到存储库接口类(我猜这是因为我乱弄类加载器引起的问题)。 不过,在我的主应用程序中自动创建存储库就可以很好地工作,因此它的配置不应该是一个问题。 是不是我做错了什么?我是否可以配

  • 我正在使用Scene Builder2.0和eclipse Luna。在fxml文件中,我有我的场景的代码和图像。如果我在eclipse上测试这一点,一切都是正常的,但是如果我将它导出到可运行的jar中,然后运行它,我就会得到没有图像的窗口...以下是部分代码: 文件结构: 我觉得问题出在路径上,但我不知道这条路是怎么走的。加载程序代码: 初始化函数: