【问题标题】:resource path setting java jar资源路径设置java jar
【发布时间】:2014-02-09 23:14:23
【问题描述】:

我有一个像这样的文件夹和包结构

  • XXX
      • 查看(此处的课程)
    • rsrc
      • 查看(此处有图片)

类文件,正在使用图像文件夹的图像。在构建 jar 时,插入图像没有问题,我只是将 rsrc 文件夹内容复制(在我的 build.xml 中)到 src 文件夹构建中,因此资源位于 .class 路径中:

<copydir src="./rsrc/studentapp/view/"
   dest="${build}/studentapp/view/"/>

创建我的 jar 后,我可以通过(示例)获取资源:

URL resource = this.getClass().getResource("testimage.png");

问题是,如果我只想编译一个类而不创建一个 jar,那么上面的行将不起作用,因为它不在正确的文件夹中。有没有办法相对于这个顺序结构读出一个文件,并且也让它在 jar 中工作?

最好的问候

编辑:使用 windows 可能有不同的语法

【问题讨论】:

    标签: java jar path resources


    【解决方案1】:

    通过设置相对于 rscrc 的路径并将整个 rsrc 文件夹复制到 jar 构建来解决它

    String path = "rsrc\\studentapp\\view\\testimage.png";
        File test = new File(path);
        try {
               BufferedImage image = ImageIO.read(test);
    
               ImageIcon icon = new ImageIcon(image);
    
               JOptionPane.showMessageDialog(null,
                  " <- Image should appear here", "Testimage",
                  JOptionPane.INFORMATION_MESSAGE, icon);
    
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    

    这里是 build.xml 中的一行:

      <copydir src="./rsrc" dest="${build}"/>
    

    【讨论】:

      猜你喜欢
      • 2013-02-09
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      • 2020-12-09
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多