2012-11-30 29 views
1

我们有一个Web应用程序WAR,它包含可移植的CDI扩展(seam-spring-core,activity-cdi)作为WEB-INF/lib中的JAR,它在JBoss AS7.1.1上按预期工作。如何在JBoss AS7的EAR中使用便携式CDI扩展?

但是,当我们将WAR打包到EAR中时,服务发现机制就会失败。类加载器不再在META-INF/services中找到相应的资源文件。

我们试图将便携式CDI扩展插入到(JBoss)模块中,但是这会阻止CDI注释被处理。我们也尝试将JAR放入EAR的lib目录中,结果相同。

EAR中便携式CDI扩展的正确位置在哪里? WAR内的便携式CDI扩展应该如何工作 - 就像没有EAR一样?这是JBoss AS7.1.1的问题吗?

回答

1

这应该工作(罐子在耳边lib)你有beans.xml耳朵?它可能需要切入罐子。

+0

你是对的,当我将它们放到EAR的lib文件夹中时,就会发现CDI扩展。但是,我有问题让他们按预期工作。 CDI扩展现在在EAR的上下文中操作。 WAR似乎有不同的上下文(BeanManager)。 – mbonato

+0

是否有可能在WAR的上下文中提供CDI扩展? – mbonato

+0

BDA(Bean Descriptor Archive)的工作方式是你需要在战争中扩展(也可能在EAR中)。在这一点上,我会问为什么它的限制在EAR中? – LightGuard