在Weblogic Server上安装Hibernate
现在需要下载Hibernate。Hibernate的 站点 整洁、内容丰富,而且下载过程没有一点儿延迟。两个单独的下载包括Hibernate Core version 3.2和一个称为Hibernate EntityManager vers的JPA覆盖。
<target name="install-hibernate">
<property name="domain.lib" value="C:/bea/wlserver_10.0/samples/domains/wl_server/lib"/>
<property name="hibernate.core.dir" value="D:/hibernate/core-3.2"/>
<property name="hibernate.core.dir" value="D:/hibernate/entitymanager-3.3.1"/>
<copy todir="${domain.lib}" overwrite="false">
<fileset dir="${hibernate.core.dir}">
<include name="hibernate*.jar"/>
</fileset>
<fileset dir="${hibernate.core.dir}/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${hibernate.jpa.dir}">
<include name="hibernate*.jar"/>
</fileset>
<fileset dir="${hibernate.jpa.dir}/lib">
<include name="*.jar"/>
</fileset>
</copy>
</target>
如何告知Weblogic Server关于Hibernate类库的信息?但最重要的是我们需要哪个类库?在Hibernate Core中,我发现了39个库,而它的 JPA覆盖有6个之多。我采用了最省事的方式。在这个简单的 Ant任务的帮助下,将所有的45个库放入了Weblogic Server实例域的共享库(即${bea.home}/wlserver_10.0/samples/domains/wl_server/lib)中。
当然,有些库应该更容易区分,应该除去那些明显的诸如jta.jar或junit-3.8.1.jar的库。现在这些库中许多是Weblogic Server 10.0集成的一部分。实际上,已经在${bea.home}/modules目录中发现了140个jar。要知道有很多关于Weblogic中的antlr库与Hibernate中的antlr库之间发生冲突的 恐怖故事,不过我还未遇到过。
关于在共享空间放置Hibernate库的重点是它们没有与应用程序封装在一起。在相同的域中部署的任何应用程序现在都可以使用Hibernate。当有许多依赖于不同Hibernate版本的应用程序时,很明显这种方式不再适用了。否则,在共享库中的这种放置方式可以避免其他的问题(产生问题的bug还没有投下阴影)。
部署和运行
现在,已经安装了Hibernate,编写了Java源,配置文件和构建脚本也已经就绪。下一步要对应用程序进行编译、封装和部署。我正是这样做的。
$ ant -Dprovider=hibernate deploy 在服务器端,我得到一个堆栈跟踪:(
weblogic.application.ModuleException: Exception preparing module: EJBModule(hibernate-ejb.jar)
at weblogic.ejb.container.deployer.EJBModule.prepare(EJBModule.java:399)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:360)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:56)
Truncated. see log file for complete stacktrace
文章来源于领测软件测试网 https://www.ltesting.net/