2011-01-13 2 views
0

Je veux utiliser logger dans mon application web java. J'utilise JBossAS 6.0.0.final, cdi (soudure), jsf ... etc Seam soudure propose d'utiliser un logger abstrait ne lie pas à une implémentation concrète (slf4j, log4j, etc) en utilisant jboss -logging api.soudure soudure (ancien projet de soudure-extensions) n'est pas initialisée

Afin d'obtenir cet enregistreur dans votre code devra écrire

@ Inject 
org.jboss.logging.Logger log 

couture solder.jar a le producteur pour cet enregistreur.

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

} 

Quand je déployer mon application, je reçois une erreur

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] 

Cela est dû à la couture-solder.jar n'a pas le fichier META-INF/beans.xml, et il est nécessaire conteneur cdi.

Si vous souhaitez ajouter manuellement le fichier beans.xml dans seam-solder.jar, l'application fonctionne alors correctement.

Comment faire sans hacks?

Pour construire mon application, j'utilise maven, donc ma solution n'est pas confortable et pas très bien. PS: L'ancien projet weld-extensions contenait le fichier META-INF/beans.xml dans le fichier jar. Avec soudure-soudure-3.0.0.Beta1

Répondre

1

avec couture-3.0.0.Beta1 il ne devrait pas être nécessaire de modifier le pot

Questions connexes