我正在将一个weblogic应用程序移动到jboss。这是EJB3应用程序 - 已安装的jBoss(eap 6.1) - 删除了所有与weblogic相关的注释以及项目中使用的jar文件。 重新编译了所有内容并成功创建了一个ear文件。 - 在本地计算机上启动JBOSS。 - 登录到控制台,转到管理部署(最初创建时) 配置文件,包括数据源) - "添加部署"很成功 不过!! - 当我做"分配"部署到服务器组,我收到以下错误:
"step-2" => {
"outcome" => "failed",
"failure-description" => {"JBAS014671: Failed services" => {
"jboss.persistenceunit.\"my-project.ear/my-project.jar#scsBDS\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"my-project.ear/my-project.jar#scsBDS\": javax.persistence.PersistenceException: [PersistenceUnit: scsBDS] Unable to build EntityManagerFactory
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: scsBDS] Unable to build EntityManagerFactory
Caused by: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.transaction.spi.TransactionFactory]
Caused by: org.hibernate.HibernateException: Unable to instantiate specified TransactionFactory class [org.hibernate.ejb.transaction.JoinableCMTTransactionFactory]
Caused by: org.hibernate.service.classloading.spi.ClassLoadingException: Unable to load class [org.hibernate.ejb.transaction.JoinableCMTTransactionFactory]
Caused by: java.lang.ClassNotFoundException: Could not load requested class : org.hibernate.ejb.transaction.JoinableCMTTransactionFactory"
此错误重复3次,因为此项目有3个数据源。但是所有这些都被部署到配置文件中没有问题。
WL版和JBOSS版之间的变化 - 我在用于JBOSS的项目结构中使用Java 7,但是当它使用时 在Weblogic上它使用了java 5。 - 我在Weblogic结构中使用了hibernate 3.5,并且正在使用Hibernate 4.1在这个Jboss的努力中。所以,我怀疑这个问题在某种程度上,因为 hibernate 4没有JoinableCMTTransactionFactory类。 但是,如果我保持hibernate 3.5,我对其实现的接口 - CMTTransactionFactory也会得到同样的错误。
有任何帮助吗?请?