我正在尝试让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中,它就可以正常工作。
答案 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>