正确获取Java / Gradle项目中的资源

时间:2018-06-07 08:26:20

标签: java gradle

我有一个小的java应用程序来模拟某种事务。

我在src/main/resources下有一些静态资源,我使用Gradle构建一个带有java插件的可执行胖jar。

问题: 从代码访问资源的最佳方式是什么?

这是我尝试这样做的方式。

   ClassLoader loader = Thread.currentThread().getContextClassLoader();
   URL url = loader.getResource(folder);
   String path = url.getPath();
  • 问题,当我从应用程序的根目录执行java - jar/build/libs/my.jar以执行它时运行正常并且正确查找资源,因为文件位于build\resources文件夹下。
  • 如果我从不同的目录创建它,那么它将从该目录获取相对路径,因此它将找不到所需的资源。

如何正确处理java资源的一些通用答案会很棒。能够从任何需要的地方执行jar。

基本上,拥有一个独立的jar是一个好主意,它会同时包含资源和依赖。如果是,如何使用Gradle正确执行?

0 个答案:

没有答案