2011-03-30 85 views
1

我想部署一个简单的“Hello World”缝在JBoss 6应用程序,而我得到的记录这些错误:问题部署Seam应用6

Deployment "jboss.ejb3:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam,service=EjbEncFactory" is in error due to the following reason(s): Described 
Deployment "org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/TimerServiceDispatcher" is in error due to the following reason(s): ** NOT FOUND Depends on 'org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/TimerServiceDispatcher' ** 
Deployment "jboss.naming:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.naming:application=helloworld,component=TimerServiceDispatcher,module=jboss-seam' ** 
Deployment "org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/EjbSynchronizations" is in error due to the following reason(s): ** NOT FOUND Depends on 'org.jboss.ejb.bean.instantiator/helloworld/jboss-seam/EjbSynchronizations' ** 
Deployment "jboss.ejb3:application=helloworld,component=EjbSynchronizations,module=jboss-seam,service=EjbEncFactory" is in error due to the following reason(s): Described 
Deployment "jboss.naming:application=helloworld,component=EjbSynchronizations,module=jboss-seam" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.naming:application=helloworld,component=EjbSynchronizations,module=jboss-seam' ** 

显然,部署过程找不到TimerServiceDispatcherEjbSynchronizations,但我注册了他们web.xml

<ejb-local-ref> 
    <ejb-ref-name>helloworld/EjbSynchronizations/local</ejb-ref-name> 
    <ejb-ref-type>Session</ejb-ref-type> 
    <local>org.jboss.seam.transaction.LocalEjbSynchronizations</local> 
    <ejb-link>EjbSynchronizations</ejb-link> 
    </ejb-local-ref> 

    <ejb-local-ref> 
    <ejb-ref-name>helloworld/TimerServiceDispatcher/local</ejb-ref-name> 
    <ejb-ref-type>Session</ejb-ref-type> 
    <local>org.jboss.seam.async.LocalTimerServiceDispatcher</local> 
    <ejb-link>TimerServiceDispatcher</ejb-link> 
    </ejb-local-ref> 

我在做什么错了,还是我缺少什么?并注意到部署人员正在寻找组件/helloworld/jboss-seam/TimerServiceDispatcher而不是/helloworld/TimerServiceDispatcher(与EjbSynchronizations相同)

+0

您正在运行哪个版本的接缝? – 2011-03-30 06:53:27

+0

它是煤矿2.2.1.Final。我试图从本书的[网站](http://solutionsfit.com/blog/books)下载的“Seam Framework:体验Java EE的演变,第2版”一书中运行helloworld示例, – 2011-03-30 19:07:01

回答

0

找到了解决方案,这是一个与包装有关的问题。 jboss-seam.jar库位于项目的.ear文件内的lib目录中;这不再适用于JBoss 6,因为该文件现在必须位于.ear内的根级别。此外,jboss-seam.jar的位置application.xml必须作相应调整。