在 glassfish 3.1 中使用 WAB 的 JPA

发布于 2024-10-15 07:18:51 字数 755 浏览 7 评论 0原文

我尝试创建 JPA 持久性模块并从 glassfish 3.1 中的 OSGI WAB 访问它。 在非 OSGI WAR 中执行此操作的方法是将持久性 jar 复制到 WAR 中。

但是,当我使用 jpa jar 部署 OSGI WAB 时,出现异常:

[#|2011-02-01T18:29:10.035+0200|SEVERE|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 at org.glassfish.osgijavaeebase.OSGiBundleArchive$1.run(OSGiBundleArchive.java:366)

JPA jar 是否应该在清单中包含一些特殊条目?它必须被定义为OSGI包吗?请咨询。

更新: 问题已解决:

  1. 为了避免 ZipException,我删除了“.”。来自捆绑清单中的捆绑类路径。
  2. 为了获得更详细的异常日志,我将 Glassfish 3.1 版本升级到 41(我使用的是版本 35)。
  3. 在修复了几个类路径问题后,JPA 与 Hibernate 捆绑包内开始工作

I try to create JPA persistency module and access it from OSGI WAB in glassfish 3.1.
The way to do it in non-OSGI WAR is to copy the persistency jar into WAR.

However when I deploy the OSGI WAB with jpa jar, I get the exception:

[#|2011-02-01T18:29:10.035+0200|SEVERE|glassfish3.1|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=17;_ThreadName=Thread-1;|java.lang.RuntimeException: java.util.zip.ZipException: duplicate entry: META-INF/maven/com.test/test-web/pom.properties
at org.glassfish.osgijavaeebase.OSGiBundleArchive$1.run(OSGiBundleArchive.java:366)

Should the JPA jar contain some special entries in a manifest? It must be defined as OSGI bundle? Please consult.

Update:
The issues was resolved:

  1. To avoid ZipException, I removed the "." from Bundle-Classpath in bundle Manifest.
  2. To get more detailed logs with exceptions, I upgraded Glassfish 3.1 build to 41 (I was working with build 35).
  3. JPA with Hibernate inside bundle started to work after I fixed several classpath problems

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绻影浮沉 2024-10-22 07:18:51

要在 WAB 中使用 JPA,您只需将包含实体和 persistence.xml 的持久性 jar 放入 WAB 的 WEB-INF/lib/ 中。请告诉我们 WAB 中的 Bundle-ClassPath 清单条目是什么样子的。我不看这个论坛;我看glassfish论坛。如果您希望更快得到答复,可以将您的问题发布到[电子邮件受保护]吗?

To use JPA in a WAB, you just have to drop the persistence jar containing entities and persistence.xml in WEB-INF/lib/ of your WAB. Tell us how the Bundle-ClassPath manifest entry in the WAB looks like. I don't watch this forum; I watch glassfish forum. Can you post your question at [email protected] if you want faster response?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文