JSF 2 ManagedProperty инъекция bean-компонента из jar-файла зависимости - PullRequest
5 голосов
/ 02 марта 2011

Я пытаюсь заставить работать инъекцию ManagedProperty, где внедренный бин находится в банке, включенной в мое веб-приложение.

Бин, подлежащий инъекции:

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

Получающий бин:

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

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

Однако это не работает, и я просто получаю сообщение "Невозможно установить сообщения свойств для управляемого компонента".Если я помещу класс Messages в тот же пакет, что и принимающий компонент, вместо того, чтобы поместить его в свой собственный jar, он будет работать просто отлично.

1 Ответ

9 голосов
/ 02 марта 2011

JAR должен содержать файл /META-INF/faces-config.xml, совместимый с JSF 2.0, для запуска сканирования аннотаций JSF 2.0 в файлах 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>
...