找不到AddableSessionFactoryBean异常hbm文件,但文件位于lib / * .jar中

时间:2015-10-27 19:52:30

标签: java spring hibernate tomcat

我正在努力部署我在.jar中的一些hiber文件,包含在另一个模块中。以下是屏幕截图:

1)Maven Build - 成功OK

2)tomcat / components /中的包结构 - 好(文件在那里,在jar里面)

3)堆栈跟踪。

POM方面,我正在添加资源,正如我们通常那样......并且他们被发现没问题。

<!-- ... pom pom pom --> 
    <resources>
        <resource>
            <directory>src/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
<!-- ... more pom more pom -->

非常感谢任何帮助

Build, everything OK

Package structure - everything is there

Trace

2 个答案:

答案 0 :(得分:0)

我的假设是类加载器存在问题。 LocalSessionFactoryBean中的Spring用于加载资源使用

Resource resource = new ClassPathResource(mapping.trim(), this.beanClassLoader);

AdditionalHibernateMappingsImpl使用

this.mappingLocations[i] = new ClassPathResource(mappingResources[i].trim());

respectivily。尝试调试这个类,看看是否使用了类加载器。

答案 1 :(得分:0)

我发现了问题。

组件AdditionalHibernateMappingImpl正在寻找与其部署包相关的hbm资源但是对于Web容器的共享资源(在本例中为tomcat),所以&#34; jar&#34;包含org /.../*。xml部署目标必须设置为&#34; shared&#34;在pom。

谢谢!