#java #jsf-2 #richfaces
#java #jsf-2 #richfaces
Вопрос:
Я новичок в richfaces и хочу поддерживать класс bean, используя аннотации вместо конфигурации xml [точно так же, как JSF 2.0] Я использую richfaces 4.0 и включил все необходимые jar-файлы в свой путь сборки. но когда я попытался import javax.faces.bean.*;
сделать это с помощью ошибки no package found. если я включу ядро JSF 2.0 jar из mojarra, оно отлично компилируется, но при отображении в виде файла war tomcat v7 выдает ошибку, и мой проект не выполняется.
пожалуйста, любая помощь.
P.S. без каких-либо компонентов проект работает хорошо
Комментарии:
1. tomcat v7 выдает ошибку, и мой проект не выполняется. Какая именно ошибка?
Ответ №1:
если я включу ядро JSF2.0 jar из mojarra, оно отлично компилируется
Это верно. Tomcat не поставляется с любыми библиотеками JSF из коробки. RichFaces4 также не поставляется с какой-либо конкретной реализацией JSF. У вас должны быть jsf-api.jar
и jsf-impl.jar
в /WEB-INF/lib
папке.
но при отображении в виде файла war tomcat v7 выдает ошибку, и мой проект не выполняется.
Вам необходимо убедиться, что ваш /WEB-INF/faces-config.xml
объявлен соответствующим спецификации 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"
>
<!-- Your config here (if any) -->
</faces-config>
Вам также необходимо убедиться, что ваш /WEB-INF/web.xml
объявленный файл соответствует спецификации Servlet 3.0 или, по крайней мере, спецификации Servlet 2.5.
<?xml version="1.0" encoding="UTF-8"?>
<web-app
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-app_3_0.xsd"
version="3.0"
>
<!-- Your config here (if any) -->
</web-app>
Комментарии:
1. Всегда пожалуйста. В будущем вам действительно следует включить полученную ошибку. Они предназначены не только для украшения, они рассказывают кое-что о причине проблемы. Если вы просто не смогли понять ошибку, вы должны опубликовать ее в своем вопросе, чтобы мы могли объяснить их для вас в терминах непрофессионала. Знаете, как только вы поймете ошибку, а следовательно, и причину, решение должно говорить само за себя.