2011-01-13 80 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應該不需要修改罐子