persistence-unit jar-file路径问题

最近项目分包以后,很多实体类的扫描需要单个配置,觉得很麻烦,就引用了jar-file的引用方式,但是加载的时候,会因为容器的表现而出现一些差异.

调试的头都大了,翻阅了很多资料,其实jar-file的引入路径是十分重要的.


其中会出现如下问题:

1.java.lang.RuntimeException: error trying to scan <jar-file>

2.java.lang.RuntimeException: Archive browser cannot handle protocol: jndi:/localhost/

3.Cannot resolve jar-file entry in persistence unit  without root URL


以上问题其实都是因为没有找到根路径,根据persistence的原始文档描述,persistence加载的根路径到底是什么?


其实就是META-INF文件夹. 在spring的配置文件中声明entityManagerFactory的时候,就需要引入根路径:

<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" />

该路径可以根据实际情况进行调整.


那么persistence-unit 中的jar-file的路径该怎么设置呢?

<jar-file>classpath:../lib/abc.jar</jar-file>

其实abc.jar的实际路径是web-inf/lib/abc.jar


以上是解决相对路径的解决方案,请参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值