我尝试创建JPA持久性模块,并从glassfish 3.1中的OSGI WAB访问它。 在非OSGI WAR中执行此操作的方法是将持久性jar复制到WAR中。
但是当我使用jpa jar部署OSGI WAB时,我得到了例外:
[#| 2011-02-01T18:29:10.035 + 0200 |严重| glassfish3.1 | javax.enterprise.system.std.com.sun.enterprise.server.logging | _ThreadID = 17; _ThreadName = Thread- 1; | java.lang.RuntimeException:java.util.zip.ZipException:重复条目:META-INF / maven / com.test / test-web / pom.properties 在org.glassfish.osgijavaeebase.OSGiBundleArchive $ 1.run(OSGiBundleArchive.java:366)
JPA jar是否应该在清单中包含一些特殊条目?它必须定义为OSGI包?请咨询。
更新 问题已经解决:
答案 0 :(得分:0)
要在WAB中使用JPA,您只需要在WAB的WEB-INF / lib /中删除包含实体和persistence.xml的持久性jar。告诉我们WAB中的Bundle-ClassPath清单条目是怎样的。我不看这个论坛;我看glassfish论坛。如果您想要更快的回复,可以在users@glassfish.java.net上发布您的问题吗?