2016-02-26 12 views
0

Я пытаюсь использовать Seam 2.2 с моим приложением, но не вижу их. Это то, что я сделал:В Eclipse, почему классы Seam не видны, когда включен Seam Facet?

Я работаю с Java 1.7, Eclipse Luna и Wildfly 8.2.1.

Я работаю с приложением предприятия, которые состоят из:
* 1 "Enterprise Project Application" с именем MyEar.
* 1 «Динамический веб-проект» под названием MyWeb. Динамический веб-модуль - 2,5.
* 1 Проект "EJB Project" назван MyEjb. Модуль EJB - 2.1.
* 1 «Проект клиента EJB» назван MyEjbClient.
* 1 «Утилитный проект» с именем MySrc.

Я хотел использовать Seam 2.2. Сначала я должен включить JSF, прежде чем включить Seam.


Так я выбрал проект MyWeb, пошел к своему Project Facets, включите JSF 2.2 и сохранить его. Я считаю, что мой проект готов использовать JSF.

Затмение добавлен faces-config.xml файл в папке WebContent/WEB-INF:

<?xml version="1.0" encoding="UTF-8"?> 
<faces-config 
    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_2.xsd" 
    version="2.2"> 

</faces-config> 

Eclipse, также добавить эти изменения в web.xml.

<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
</servlet-mapping> 

Затем я снова выбрал проект MyWeb, пошел к своему Project Facets, включите Seam 2.2 и сохранить его. Я считаю, что мой проект готов использовать Seam.

Eclipse создана WebContent/WEB-INF/classes/META-INF папка.

Eclipse, также добавить эти изменения в web.xml:

<context-param> 
    <param-name>org.richfaces.SKIN</param-name> 
    <param-value>blueSky</param-value> 
    </context-param> 
    <listener> 
    <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> 
    </listener> 
    <filter> 
    <filter-name>Seam Filter</filter-name> 
    <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> 
    </filter> 
    <filter-mapping> 
    <filter-name>Seam Filter</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 
    <servlet> 
    <servlet-name>Seam Resource Servlet</servlet-name> 
    <servlet-class>org.jboss.seam.servlet.SeamResourceServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Seam Resource Servlet</servlet-name> 
    <url-pattern>/seam/resource/*</url-pattern> 
    </servlet-mapping> 
    <context-param> 
    <param-name>facelets.DEVELOPMENT</param-name> 
    <param-value>true</param-value> 
    </context-param> 
    <context-param> 
    <param-name>javax.faces.DEFAULT_SUFFIX</param-name> 
    <param-value>.xhtml</param-value> 
    </context-param> 
    <security-constraint> 
    <display-name>Restrict raw XHTML Documents</display-name> 
    <web-resource-collection> 
     <web-resource-name>XHTML</web-resource-name> 
     <url-pattern>*.xhtml</url-pattern> 
    </web-resource-collection> 
    <auth-constraint/> 
    </security-constraint> 

Сейчас в MyWeb проект, я создаю класс.В ней я хочу, чтобы определить переменную экземпляра типа HtmlDropDownMenu, который поставляется с Seam:

package com.srh.seam.menu; 

public class WebMenu { 

    HtmlDropDownMenu menu; 

} 

Но Eclipse, не может найти класс HtmlDropDownMenu и дать мне это сообщение об ошибке:

HtmlDropDownMenu не могут быть решены в a тип

Класс HtmlDropDownMenu находится в org.richfaces.component.html упаковке. Eclipse не видит пакет org.richfaces.

Что я сделал не так, что Eclipse не может видеть классы Seam?

+0

Эти библиотеки не будут работать вместе, Seam 2.2 будет работать только с JSF 1.2, а Seam 2.3 будет работать с JSF 2.2 ... вам лучше работать на JBoss AS 7, а не Wildfly, Seam прекратил разработку несколько лет назад – DaveB

ответ

0

Убедитесь, что соответствующие контейнеры с богатыми интерфейсами находятся в папке MyWeb/WebContent/WEB-INF/lib.