我已经将现有的应用程序从 JBoss 6 迁移到了 JBoss 7。部署 .ear 文件后,我收到以下错误:
Caused by:org.jboss.as.server.deployment.DeploymentUnitProcessingException:
JBAS017052: Failed to parse POJO xml [ "/content/SMS-ear.ear/lib/jboss-ejb3-core-
1.1.5.jar /META-INF/ejb3-deployers-jboss-beans.xml" ]
尝试提及建议后,我收到以下错误:
//New StackTrace after trying out the advice
Caused by: java.lang.RuntimeException: Error getting reflective information
for class org.domain.sms.session.AuthenticatorAction with ClassLoader
ModuleClassLoader for Module "deployment.SMS-ear.ear.SMS-ejb.jar:main" from Service
at class org.domain.sms.session.AuthenticatorAction with ClassLoader
org.jboss.as.server.deployment.reflect.DeploymentReflectionIndex.getClassIndex (DeploymentReflectionIndex.java:70) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
你不应该将 jboss jar 捆绑作为部署的一部分。
在你的情况下,你的耳朵/库里有 JBoss-EJB3-core-1.1.5.jar,该 jar 是 JBoss AS6 上 EJB3 的实现,并不意味着与您的部署捆绑在一起。
JBoss AS7 在幕后有不同的实现。您得到的失败与 AS7 具有不同的内核并且不再通过 jboss-beans.xml 文件使用/定义部署程序的事实有关。
简而言之,如果您从部署中删除该 jar(或任何其他类似的 as6 jar),它应该可以工作。