【发布时间】:2015-03-05 04:50:47
【问题描述】:
我有一个使用 Spring 和 Hibernate 的 Maven 项目。当我使用 Debug As > Java Application 在 Eclipse 中启动它时,它运行良好。但是一旦我将它导出为一个可运行的 .jar 文件,它就会给我这个错误:
class path resource [com/xxx/file.hbm.xml] cannot be opened because it does not exist
但是当我打开 .jar 文件时,该文件位于 /resources/com/xxx.file.hbm.xml 下。我做错了什么?
谢谢。
【问题讨论】:
-
可能是某种权限问题...
-
不,我敢打赌,您的代码中缺少前导“resource/”,您从类路径中请求它。或者清单不包含它。
-
如果你打开 jar 并且有一个资源文件夹有问题,那么不应该有一个资源文件夹。你不应该使用eclipse的导出功能来创建一个jar,那是你应该使用maven的。
-
@M. Deinum :我认为你是对的,我不应该使用导出功能来创建一个 jar。但我没有设法用 maven 生成 jar。也就是说,这是我老板在另一个项目中使用的程序。在另一个项目的 jar 中有完全相同的文件位于相同的位置,并且运行良好 =(
-
@duffymo :我在 applicationContext.xml 中请求这个文件,位于 resources/ 下,所以我猜它使用相对路径。
标签: java eclipse spring hibernate maven