导出项目后的Java资源
我已经完成了一个java应用程序,其中有一些图像作为资源,如下所示:
->源代码 ->资源 ->图像
为了访问此资源,我使用了 getClass().getResource("/resources/images/img.jpg"),当我在 Eclipse 上时,这工作正常,但是当我将项目导出到 jar 时,路径更改为这种类型:“jar:C:/path/deployed.jar!/resources/images/img.jpg”。
我做错了什么?是否可以将所有项目导出到一个 jar 中?
还有一个问题,该资源包括一个 derby 数据库,该数据库在部署到 jar 文件中时也不起作用,
谢谢
I've done a java aplication that have some images as resources like this:
->src
->resources
->images
For accessing this resources i've used getClass().getResource("/resources/images/img.jpg"), this works fine when i am on eclipse, but when i export the project to a jar the path change to something this genre: "jar:C:/path/deployed.jar!/resources/images/img.jpg".
What i am doing wrong? It is possible to export all the project in one jar?
One more question, this resources include a derby db that dont work either when deployed in jar file
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试使用 getResourceAsStream() 而不是 getResource() 来访问 jar 文件中的资源。
Try using getResourceAsStream() instead of getResource() to access resources in your jar file.
正如 Hovercraft 所说,Derby DB(意味着数据文件,而不是实现)不会从 jar 启动。而且你不插入任何东西也没关系,Derby 需要打开这些文件进行写入。它们需要位于您具有写入权限的目录中。
As Hovercraft stated, Derby DB (meaning the data files, not implementation) won't start from a jar. And it doesn't matter you don't insert anything, Derby needs to open these files for writing. They need to be in a directory where you have writing access.