开发者社区> 问答> 正文

从jar文件加载资源文件的问题

我有一个具有这样的源代码布局的应用程序:

src
 main
  java
   com
    mypackage
     MyClass.java
  resources
    queries
      query.sql

在我的MyClass中,我可以加载资源query.sql

URL url = Resources.getResource("queries/query.sql");
String query = Resources.toString(url, Charset.UTF-8);

当我从本地IDE运行Guava库时,会使用它。

但是当我构建jar时,有这样的结构:

myjar.jar
  com
    mypackage
      MyClass.class
  queries
    query.sql

部署到服务器后,我有:

IllegalArgumentException:找不到资源查询/query.sql。

如果我不想将sql脚本放入mypackage包中并将其保存在单独的文件夹中,是否可以解决此问题?谢谢。

问题来源:Stack Overflow

展开
收起
montos 2020-03-26 20:47:57 368 0
1 条回答
写回答
取消 提交回答
  • @VGR的评论副本在这里:

    正确的调用是: MyClass.class.getResource("/queries/query.sql")

    回答来源:Stack Overflow

    2020-03-26 20:48:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载