【问题标题】:How to access src/main/resources from IDE and JAR如何从 IDE 和 JAR 访问 src/main/resources
【发布时间】:2016-03-06 16:10:27
【问题描述】:

在 Java 中,我试图遵循将资源文件放入 src/main/resources 的约定。

我在访问文件时遇到问题,我可以通过 IDE 或从 CLI (JAR) 运行它,但不能同时使用。

获取文件完整路径以便我可以从 JAR 或 IDE 访问它的最佳方法是什么?

【问题讨论】:

  • 我知道,我知道,我需要展示代码,但我已经尝试了很多东西,现在还没有一个连贯的示例。当然,谁有正确的答案就知道了。
  • this.getClass().getResource("/MyFont.ttf").toExternalForm() - 其中MyFont.ttf 在您的资源文件夹中,在您的IDE 中标记为Resources Root。

标签: java


【解决方案1】:

你在用maven吗?这个约定是针对maven项目的,是默认的resources文件夹,maven默认会定位到jar包根文件夹,所以资源会在jar的classptah中可用

如果你没有使用 maven,这是没用的,你必须手动将该文件夹放入类路径中。

一旦文件夹位于类路径中,您就可以访问资源了

MyClass.class.getResource(your resource name);

【讨论】:

  • 我建议使用MyClass.class.getResource(),因为this.getClass().getResource() 可能会导致不同包中的子类出现意外行为。
猜你喜欢
  • 2020-07-24
  • 1970-01-01
  • 1970-01-01
  • 2014-09-25
  • 2014-11-21
  • 2015-05-07
  • 1970-01-01
  • 1970-01-01
  • 2015-03-22
相关资源
最近更新 更多