2011-01-13 73 views
0

我想在我的Java Web应用程序中使用记录器。缝焊(前焊接扩展项目)未初始化

我正在使用JBossAS 6.0.0.final,cdi(weld),jsf等。Seam焊接建议使用抽象记录器并不是绑定到具体实现(slf4j,log4j等),使用jboss -logging api。

为了得到这个记录在你的代码需要编写

@ Inject 
org.jboss.logging.Logger log 

缝solder.jar有此logger的生产者。

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] 

这是由于缝solder.jar还没有META-INF/beans.xml的文件,它是必要的cdi容器。

如果手动添加seam-solder.jar中的beans.xml文件,那么该应用程序工作良好。

如何避免黑客?

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

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

回答

1

带缝焊3.0.0.Beta1应该不需要修改罐子