缝焊(以前的焊接延伸项目)未初始化

时间:2011-01-13 14:27:03

标签: seam cdi jboss-weld seam3

我想在我的java Web应用程序中使用logger。

我正在使用JBossAS 6.0.0.final,cdi(焊接),jsf ......等。缝焊接建议使用抽象记录器并不是要使用jboss与具体实现(slf4j,log4j等)绑在一起 - 记录api。

为了在代码中获取此记录器,需要编写

@ Inject 
org.jboss.logging.Logger log 

seam-solder.jar拥有此记录器的生产者。

package org.jboss.seam.solder.log; 
... 
class LoggerProducers 
{ 
   @ Produces 
   org.jboss.logging.Logger produceLog (InjectionPoint injectionPoint) {} 

} 

当我部署我的应用程序时,出现错误

15:51:18,300 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=vfs:///C:/Java/jboss-6.0.0.Final/server/default/deploy/kamis-web-client.5.0.0-SNAPSHOT.ear_WeldBootstrapBean state=Create: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [Logger] with qualifiers [@Default] at injection point [[field] @Inject private ru.kamis.suite.webclient.web.breadcrumbs.BreadcrumbsManager.log]

这是由于seam-solder.jar没有META-INF / beans.xml文件,而且它是cdi容器所必需的。

如果要手动在seam-solder.jar中添加beans.xml文件,那么应用程序可以正常运行。

如何没有黑客攻击?

要构建我的应用程序,我使用maven,所以我的解决方案不舒服,并不好。

PS:以前的焊接扩展项目包含jar中的META-INF / beans.xml文件。

1 个答案:

答案 0 :(得分:1)

用seam-solder-3.0.0.Beta1应该不需要修改jar