JSF 2 ManagedProperty从依赖jar注入bean

Rob*_*ert 5 java jsf dependency-injection jsf-2

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

要注入的豆子:

@ManagedBean(name="messages")  
@SessionScoped  
public class Messages implements Serializable
{
Run Code Online (Sandbox Code Playgroud)

接收bean:

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

public void setMessages(Messages messages)
{
    this.messages = messages;
}
Run Code Online (Sandbox Code Playgroud)

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

Bal*_*usC 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>
Run Code Online (Sandbox Code Playgroud)