2011-03-02 15 views
5

Estoy intentando que funcione una inyección ManagedProperty, donde el bean inyectado reside en un contenedor incluido en mi aplicación web.JSF 2 ManagedProperty inyección de bean desde el contenedor de dependencia

frijol a inyectar: ​​

@ManagedBean(name="messages") 
@SessionScoped 
public class Messages implements Serializable 
{ 

Recepción de frijol:

@ManagedProperty(value="#{messages}") 
private Messages messages; 

public void setMessages(Messages messages) 
{ 
    this.messages = messages; 
} 

Sin embargo, esto no funciona y estoy recibiendo el mensaje "No se puede configurar mensajes de propiedad de bean administrado ". Si pongo la clase Messages en el mismo paquete que el bean receptor en lugar de tenerlo en su propio jar, funciona bien.

Respuesta

9

El archivo JAR debe contener un archivo compatible con JSF 2.0 /META-INF/faces-config.xml para desencadenar escaneos de anotaciones JSF 2.0 en archivos JAR.

<?xml version="1.0" encoding="UTF-8"?> 
<faces-config 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" 
    version="2.0"> 
</faces-config> 
+0

Eso lo hizo. Gracias. – Robert

Cuestiones relacionadas