JSF 2 ManagedProperty从依赖jar注入bean

时间:2011-03-02 13:09:55

标签: java jsf dependency-injection jsf-2

我正在尝试让ManagedProperty注入工作,注入的bean驻留在我的Web应用程序中包含的jar中。

要注射的豆子:

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

接收bean:

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

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

但是,这不起作用,我只是收到消息“无法为托管bean设置属性消息”。 如果我将Messages类放在与接收bean相同的包中,而不是将它放在它自己的jar中,它就可以正常工作。

1 个答案:

答案 0 :(得分:9)

JAR必须包含符合JSF 2.0的/META-INF/faces-config.xml文件才能在JAR文件中触发JSF 2.0注释扫描。

<?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>