1

我正在将带有 EJB 2.1 的应用程序从 Weblogic9 移植到 JBoss AS5。我已经进行了一些更改,例如将 jboss.xml 描述符添加到 EJB 并修复 EAR 的 application.xml,但是在部署 EAR 时仍然存在问题。以下是 JBoss 部署第一个 EJB 时遇到的最新错误的摘要(我将在消息末尾添加完整的堆栈跟踪):

14:15:48,124 错误 [AbstractKernelController] 安装到 Parse 时出错:name=vf
sfile:/C:/Marina/Tools/jboss-5.1.0.GA/server/default/deploy/contracts.ear/state
=未安装模式=手动要求状态=解析
org.jboss.deployers.spi.DeploymentException:为 v 创建托管对象时出错
fsfile:/C:/Marina/Tools/jboss-5.1.0.GA/server/default/deploy/contracts.ear/admin
-ejb.jar/



……

原因:org.jboss.xb.binding.JBossXBException:解析源失败:失败
  解析 nsURI=, baseURI=null, schemaLocation=http://www.jboss.org/j2ee/dtd/jboss_2_4.dtd 的模式



……

原因:org.jboss.xb.binding.JBossXBRuntimeException:-1:-1 94:3 根元素之前的文档中的标记必须格式正确。

这是解析 jboss_2_4.dtd 本身的问题吗?还是我的 EJB 描述符已经磨损了?

当我尝试在 XML 编辑器中验证 jboss_2_4.dtd 时,它确实在第 94:1 行抱怨语法错误,这是第一个声明的开头,尽管它看起来不错。有任何想法吗?

谢谢!

码头

完整的错误堆栈跟踪:

14:15:48,124 错误 [AbstractKernelController] 安装到 Parse 时出错:name=vf
sfile:/C:/Marina/Tools/jboss-5.1.0.GA/server/default/deploy/contracts.ear/state
=未安装模式=手动要求状态=解析
org.jboss.deployers.spi.DeploymentException:为 v 创建托管对象时出错
fsfile:/C:/Marina/Tools/jboss-5.1.0.GA/server/default/deploy/contracts.ear/admin
-ejb.jar/
        在 org.jboss.deployers.spi.DeploymentException.rethrowAsDeploymentExcept
离子(DeploymentException.java:49)
        在 org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithO
utput.createMetaData(AbstractParsingDeployerWithOutput.java:362)
        在 org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithO
utput.createMetaData(AbstractParsingDeployerWithOutput.java:322)
        在 org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithO
utput.createMetaData(AbstractParsingDeployerWithOutput.java:294)
        在 org.jboss.deployment.JBossEjbParsingDeployer.createMetaData(JBossEjbP
arsingDeployer.java:95)
        在 org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithO
utput.deploy(AbstractParsingDeployerWithOutput.java:234)
        在 org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(Deployer
Wrapper.java:171)
        在 org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(Deployer
sImpl.java:1439)
        在 org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFi
rst(DeployersImpl.java:1157)
        在 org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFi
rst(DeployersImpl.java:1210)
        在 org.jboss.deployers.plugins.deployers.DeployersImpl.install(Deployers
Impl.java:1098)
        在 org.jboss.dependency.plugins.AbstractControllerContext.install(Abstra
ctControllerContext.java:348)
        在 org.jboss.dependency.plugins.AbstractController.install(AbstractContr
oller.java:1631)
        在 org.jboss.dependency.plugins.AbstractController.incrementState(Abstra
ctController.java:934)
        在 org.jboss.dependency.plugins.AbstractController.resolveContexts(Abstr
actController.java:1082)
        在 org.jboss.dependency.plugins.AbstractController.resolveContexts(Abstr
actController.java:984)
        在 org.jboss.dependency.plugins.AbstractController.change(AbstractContro
ller.java:822)
        在 org.jboss.dependency.plugins.AbstractController.change(AbstractContro
ller.java:553)
        在 org.jboss.deployers.plugins.deployers.DeployersImpl.process(部署者
Impl.java:781)
        在 org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeploye
rImpl.java:702)
        在 org.jboss.system.server.profileservice.repository.MainDeployerAdapter
.process(MainDeployerAdapter.java:117)
        在 org.jboss.system.server.profileservice.repository.ProfileDeployAction
.install(ProfileDeployAction.java:70)
        在 org.jboss.system.server.profileservice.repository.AbstractProfileActi
on.install(AbstractProfileAction.java:53)
        在 org.jboss.system.server.profileservice.repository.AbstractProfileServ
ice.install(AbstractProfileService.java:361)
        在 org.jboss.dependency.plugins.AbstractControllerContext.install(Abstra
ctControllerContext.java:348)
        在 org.jboss.dependency.plugins.AbstractController.install(AbstractContr
oller.java:1631)
        在 org.jboss.dependency.plugins.AbstractController.incrementState(Abstra
ctController.java:934)
        在 org.jboss.dependency.plugins.AbstractController.resolveContexts(Abstr
actController.java:1082)
        在 org.jboss.dependency.plugins.AbstractController.resolveContexts(Abstr
actController.java:984)
        在 org.jboss.dependency.plugins.AbstractController.change(AbstractContro
ller.java:822)
        在 org.jboss.dependency.plugins.AbstractController.change(AbstractContro
ller.java:553)
        在 org.jboss.system.server.profileservice.repository.AbstractProfileServ
ice.activateProfile(AbstractProfileService.java:306)
        在 org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(
ProfileServiceBootstrap.java:271)
        在 org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:
461)
        在 org.jboss.Main.boot(Main.java:221)
        在 org.jboss.Main$1.run(Main.java:556)
        在 java.lang.Thread.run(Thread.java:619)
原因:org.jboss.xb.binding.JBossXBException:解析源失败:失败
解析 nsURI=、baseURI=null、schemaLocation=http://www.jboss.org/j 的模式
2ee/dtd/jboss_2_4.dtd
        在 org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBPars
er.java:203)
        在 org.jboss.xb.binding.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java
:168)
        在 org.jboss.xb.util.JBossXBHelper.parse(JBossXBHelper.java:189)
        在 org.jboss.xb.util.JBossXBHelper.parse(JBossXBHelper.java:166)
        在 org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(Sch
emaResolverDeployer.java:137)
        在 org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer.parse(Sch
emaResolverDeployer.java:121)
        在 org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parse
AndInit(AbstractVFSParsingDeployer.java:256)
        在 org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer.parse
(抽象VFSParsingDeployer.java:188)
        在 org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithO
utput.createMetaData(AbstractParsingDeployerWithOutput.java:348)
        ... 35 更多
原因:org.jboss.xb.binding.JBossXBRuntimeException:解析模式失败
对于 nsURI=, baseURI=null, schemaLocation=http://www.jboss.org/j2ee/dtd/jboss_2_4
.dtd
        在 org.jboss.xb.binding.resolver.AbstractMutableSchemaResolver.resolve(A
bstractMutableSchemaResolver.java:293)
        在 org.jboss.xb.binding.sunday.unmarshalling.SundayContentHandler.startE
元素(SundayContentHandler.java:274)
        在 org.jboss.xb.binding.parser.sax.SaxJBossXBParser$DelegatingContentHan
dler.startElement(SaxJBossXBParser.java:401)
        在 org.apache.xerces.parsers.AbstractSAXParser.startElement(未知酸
ce)
        在 org.apache.xerces.xinclude.XIncludeHandler.startElement(未知来源
e)
        在 org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(未知来源
e)
        在 org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unkn
自己的来源)
        在 org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.s
canRootElementHook(未知来源)
        在 org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(未知来源)
        在 org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
已知来源)
        在 org.apache.xerces.parsers.XML11Configuration.parse(未知来源)
        在 org.apache.xerces.parsers.XML11Configuration.parse(未知来源)
        在 org.apache.xerces.parsers.XMLParser.parse(未知来源)
        在 org.apache.xerces.parsers.AbstractSAXParser.parse(未知来源)
        在 org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(未知酸
ce)
        在 org.jboss.xb.binding.parser.sax.SaxJBossXBParser.parse(SaxJBossXBPars
er.java:199)
        ... 43 更多
引起:org.jboss.xb.binding.JBossXBRuntimeException: -1:-1 94:3 标记我
n 根元素之前的文档必须格式正确。
        在 org.jboss.xb.binding.sunday.unmarshalling.XsdBinderTerminationErrorHa
ndler.handleError(XsdBinderTerminalErrorHandler.java:40)
        在 org.apache.xerces.impl.xs.XMLSchemaLoader.reportDOMFatalError(未知
来源)
        在 org.apache.xerces.impl.xs.XSLoaderImpl.load(未知来源)
        在 org.jboss.xb.binding.Util.loadSchema(Util.java:395)
        在 org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(XsdBinder.ja
弗吉尼亚州:176)
        在 org.jboss.xb.binding.sunday.unmarshalling.XsdBinder.bind(XsdBinder.ja
弗吉尼亚州:147)
        在 org.jboss.xb.binding.resolver.AbstractMutableSchemaResolver.resolve(A
bstractMutableSchemaResolver.java:285)
        ... 58 更多



4

1 回答 1

1

我想看看你的jboss.xml,但我真的很想知道你为什么要使用这个尘土飞扬的东西jboss_2_4.dtd(“JBoss 2.4 EJB 部署描述符”)。由于您使用的是 JBoss AS 5.1,我建议您改用更现代的jboss_5_1.xsd架构(请参阅JBossDTDs以供参考)。下面是一个空样本:

<jboss xmlns="http://www.jboss.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
 http://www.jboss.org/j2ee/schema/jboss_5_1.xsd"
 version="3.0">
</jboss>
于 2010-04-21T21:52:36.747 回答