Я пытаюсь настроить jsf 2.3 на tomcat 8 всякий раз, когда я использую @inject, у меня постоянно появляется ошибка, я гуглял и искал на stackoverflow.com, но не могу найти решение. Я уже установил CDI (Weld) на него, следуя примеру @BalusC отсюда Как установить и использовать CDI на Tomcat? , но у меня сохраняется неудовлетворенная зависимость: ни один компонент не соответствует точке внедрения. Я не могу понять, есть ли что-то, что мне не хватает?
ConfigurationBean.java
import static javax.faces.annotation.FacesConfig.Version.JSF_2_3;
import javax.faces.annotation.FacesConfig;
@FacesConfig(
// Activates CDI build-in beans
version = JSF_2_3
)
public class ConfigurationBean {
}
beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
version="1.1" bean-discovery-mode="all">
</beans>
лица-config.xml
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.3"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd">
</faces-config>
PushBean.java
@Named
@ViewScoped
public class PushBean implements Serializable {
@Inject @Push(channel="counter") //This is where i get the error message unsatisfied dependency: no bean matches the injection point
private PushContext push;
}
Для меня этот код выглядит хорошо, но мне интересно, если это ошибка NetBeans. Я пытался, что без использования Spring просто только Tomcat с JSF я все еще получаю то же сообщение об ошибке. Я не смог найти ни одного сообщения об ошибке внутри трассировки стека.