【问题标题】:eclipse doesn't recognize resources in bin folder (by relative filepath)eclipse 无法识别 bin 文件夹中的资源(通过相对文件路径)
【发布时间】:2012-11-01 04:41:58
【问题描述】:

这快把我逼疯了。我花了几个小时在谷歌上搜索这个,找不到其他有这个问题的人的案例。我已将程序所需的所有图像放入 src 文件夹中,但是当我运行程序时,它不会绘制图像。我检查了 bin 文件夹,它们已被正确复制。即使 bin 文件夹中有所有资源,当我使用相对文件路径时,eclipse 也无法识别它们。如果我打开命令提示符并 cd 到 bin 文件夹并运行它,则会绘制所有图像,而不会更改代码。如何让 eclipse 通过相对文件路径使用图像??

【问题讨论】:

  • 请尝试将图像复制到项目的根文件夹中,如果您遇到任何问题,请告知..
  • 谢谢坦加!我不知道为什么我没有想到这一点......但是当你使用相对文件路径时,有没有一种方法可以改变 eclipse 查找图像的位置?
  • 我想所以我们不想在项目文件夹中指定 Eclipse 中的任何亲戚.. 只需单独使用文件名.. 它现在可以工作吗? @泰勒
  • @Thanga 是的,它现在正在工作。我将图像放在项目文件夹而不是 bin/ 文件夹中。但我想知道是否可以将其更改为 eclipse 将使用 bin 文件夹中的图像而不是项目文件夹。
  • 我在下面添加了答案找到它

标签: java eclipse


【解决方案1】:

Copy imagesroot folderproject 它应该适合您,默认情况下,eclipse 将读取 project 中的 file,只需指定其名称并将其视为相对小路 。 Bin文件夹一般是用来存放eclipse编译java文件后所有的class files,这应该是避免的原因,你可以将文件的相对路径添加到源代码中,单独的文件夹。

如果穿错了请纠正我

【讨论】:

    【解决方案2】:

    当您尝试使用new File("some/relative/path") 访问文件时,路径始终相对于 Java 应用程序的启动位置。当您不确定这是哪个位置时,您可以打印new File(".").getAbsolutePath() 来查找。对于 Eclipse,这将是 Project 文件夹。

    如果您想访问应用程序源文件夹中的文件,您应该使用class.getResource("path")class.getResourceAsStream("path")。这里的 path 可以是相对路径(相对于 class 的包)或绝对路径(绝对 w.r.t. 类路径)。

    所以如果你有一个包foo,并且在这个包中有一个java文件Bar.java和一个图像blub.gif,你可以使用Bar.class.getResource("blub.gif")Bar.class.getResource("/foo/blub.gif")来获取图像——注意前面的@ 987654331@.

    除了使用new File(...),这也可以工作,然后将类和资源打包在一个 Jar 中。

    【讨论】:

      猜你喜欢
      • 2021-05-24
      • 2018-03-06
      • 1970-01-01
      • 1970-01-01
      • 2019-12-19
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多