从 jar 文件加载资源文件的问题
Issue with loading of resource file from jar file
我有一个应用程序具有这样的源代码布局:
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: 找不到资源 queries/query。sql。
如果我不想将 sql 脚本放入 mypackage 包并将其保存在单独的文件夹中,是否可以解决此问题?
谢谢
@VGR 评论的副本:
The proper invocation is:
MyClass.class.getResource("/queries/query.sql")
我有一个应用程序具有这样的源代码布局:
src
main
java
com
mypackage
MyClass.java
resources
queries
query.sql
在我的 MyClass 中,我可以使用
加载资源 query.sqlURL 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: 找不到资源 queries/query。sql。
如果我不想将 sql 脚本放入 mypackage 包并将其保存在单独的文件夹中,是否可以解决此问题? 谢谢
@VGR 评论的副本:
The proper invocation is:
MyClass.class.getResource("/queries/query.sql")