Glassfish更新中心软件包应提供哪些Hibernate依赖项?

时间:2011-08-10 16:01:28

标签: hibernate glassfish glassfish-3

我正在尝试将Glassfish Hibernate提供程序从其当前的3.5.0版本更新为3.6.6.Final。

我需要社区的帮助(以及Glassfish开发人员的帮助)。我通过电子邮件网关向Glassfish论坛提交了这个问题,但论坛系统再次关闭。如果它回来了,您可以在这里找到(等效)问题:http://www.java.net/forum/topic/glassfish/glassfish/updating-support-hibernate-glassfish-need-communitys-help。我还将它提交给了Hibernate论坛:https://forum.hibernate.org/viewtopic.php?f=1&t=1010771

背景知识:如果您搜索将Hibernate与Glassfish集成,您将获得数十篇文章,建议您执行以下任务之一:

  • 将Hibernate及其依赖项直接放在domain1/lib
  • 使用您的应用程序打包Hibernate。
  • Glassfish Update Center
  • 安装Hibernate

目前显示的每个选项都存在问题,从错误到类加载器问题,或者在更新中心的情况下,版本过时(Hibernate 3.5.0.Final,更新中心安装的Hibernate版本)违反了JPA 2.0 JPQL语法,因此不兼容JPA 2.0)。这篇善意的文章最好总结一下这个状态:http://eskatos.wordpress.com/2007/10/09/hello-world/文章本身不再适用,文章的更新也不起作用。

Sahoo提出了另一种我非常喜欢的方法:http://www.java.net/forum/topic/glassfish/glassfish/using-hibernate-glassfish#comment-814634

这会将Hibernate依赖项放在domain1/applibs下的自己的文件夹中,由hibernate.jar的空Class-Path:引用。MANIFEST.MF。这很棒。它是孤立的,易于升级,与IPS打包机制兼容,应用程序必须在部署时使用--libraries选项指定他们希望Hibernate可见。

那么,那么。 依赖项目录中的内容是什么?我并不担心传递依赖项,只是Hibernate编写的依赖项。

在当前的Hibernate Update Center包中,依赖关系很小。每当http://maven.glassfish.org/index.html#view-repositories;Java.net.2~browsestorage~/org/glassfish-repo/packager/hibernate-ips/3.5.0-Final-1/hibernate-ips-3.5.0-Final-1.zip不忙于抛出503错误的常规业务功能时,您可以通过下载http://maven.glassfish.org来查看它们是什么。

它们最小化的原因是所安装的Hibernate工件是hibernate3.jar,这似乎是Hibernate的一掷千金的分布,因此被无情地踩踏了从那时起,每一个发行都不存在。这个人有一个很好的总结:http://www.javaworld.com/community/node/7686

在Hibernate版本3.6.6中,幸运的是,此工件不再生成或上传到Maven。相反,预计您将选择自己的依赖项。

对于个人开发人员来说这很好,但当您谈到在应用程序服务器级别提供支持时,该怎么办?包括所有可选的依赖项?他们中有一些?哪个?这就是我需要你帮助的地方。

通过查看hibernate-all assembly descriptor,您可以看到Hibernate的优秀人员已使用此配方替换hibernate3.jar。您可以进一步看到此描述符生成的工件将包含其中的每个hibernate-*模块。

如果我正在拍摄现有Hibernate更新中心软件包的简单升级,我可能会尽我所能来包含它,因为它大致相当于旧的hibernate3.jar。但我想我先问这里,因为hibernate3.jar有点令人厌恶:有什么依赖 - 有很多可选的,缓存提供者等 - 应该是Hibernate Update Center支持“船“与?

作为一种比较,您可以看到JBoss AS7的数量非常小:https://github.com/jbossas/jboss-as/blob/master/pom.xml#L2696例如,它们似乎不包括EHCache,SwarmCache或OSCache提供程序。

那么,除了hibernate-corehibernate-entitymanager(显然必须存在才能使Hibernate工作)之外,Hibernate Update Center软件包还应包含哪些其他依赖项?

0 个答案:

没有答案