在实际的项目中,原先大的项目,需要按业务功能拆分成小功能,并且以服务的方式独立布署。
在此前提下,同时也为了应用各工程 ,使用同一代码,为了方便。单独以jar包方式,作为其他工程 引入,使用。
我们在独立的JAR包,设置了独立的数据源文件,映射实体。
但在项目整合的时候遇到不能加载配置文件跟实体映射。
我们在实体文件中全部使用JPA实体映射。@Entity
在具体使用中,抛出异常unkonwn entity xxxx
原因有二:
1 .web.xml 需要指定 classpath*:applicationContext-*.xml 特别是classpath* 这样才会扫描jar 包中的配置文件。否则只加载项目下的。
2.persistence.xml 文件中,需要指定JAR包的文件所在
在节点provider 同级下设置 jar-file 指定绝对目录或者文件。
具体请参考 http://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/configuration.html#d0e215
本文探讨了在将大型项目拆分为多个独立部署的小服务过程中遇到的问题:无法加载位于独立JAR包内的配置文件及实体映射。文章详细解释了解决方案,包括在web.xml中指定classpath*来扫描JAR包中的配置文件,以及在persistence.xml中正确配置JAR包的位置。
1万+

被折叠的 条评论
为什么被折叠?



