나는 현재 주로 에 보스 4.2.x를에서 보스 7.1 JSF 1.2를 최대 절전 모드 및 심 2, 를 사용하는 큰 프로젝트를 마이그레이션하는거야 - 그리고 나는 대부분의 문제까지 해결하기 위해 관리했습니다 . 응용 프로그램 서버는 정상적으로 시작되고 현재 오류없이 내 EAR 프로젝트를 배포합니다. JSF 1.2와 Seam 2 솔기가 제대로 시작됩니다.JBoss v7.1에서 JSF v1.2와 함께 Seam v2.2.2.Final 사용 - JSF 태그가 렌더링되지 않습니다 - 이유는 무엇입니까?
그러나 첫 번째 페이지 (예 : context/login.seam)에 액세스하자 마자 브라우저는 렌더링 된 콘텐츠 대신 jsp의 소스를로드합니다. 지금까지 어디로 가야할지 모르겠다. 이 환경을 사용하기 위해 web.xml, faces-config.xml 또는 관련 설정 파일을 변경 했습니까? 전쟁의 web.xml에서
일부 라인 EAR에
<context-param>
<param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>
<param-value>Mojarra-1.2</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>
<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>*.seam</url-pattern>
</servlet-mapping>
는 JBoss에 배포-structure.xml :
간단히 내가 지금까지 내 프로젝트에 다음과 같은 업데이트를했습니다 요약
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<exclusions>
<module name="javax.faces.api" slot="main" />
<module name="com.sun.jsf-impl" slot="main" />
</exclusions>
<dependencies>
<!-- Wir brauchen in jedem Fall Java Server Faces v1.2... nicht das aktuelle v2.0! -->
<module name="javax.faces.api" slot="1.2" export="true" />
<module name="com.sun.jsf-impl" slot="1.2" export="true" />
<!-- Seam braucht einige Libraries, die der JBoss teilweise schon mitbringt... -->
<module name="org.apache.commons.beanutils" export="true" />
<module name="org.apache.commons.collections" export="true" />
<module name="org.apache.commons.lang" export="true" />
<module name="org.dom4j" export="true" />
<module name="org.hibernate.validator" export="true" />
</dependencies>
</deployment>
</jboss-deployment-structure>
이미 JBoss v7.1과 함께 제공되는 EAR의 모든 JAR을 모듈로 제거하고 수정했습니다. MANIFEST.MF 파일.
Log4J를 JBoss-Logging으로 대체하고 오래된 FacesMessages 코드를 수정하고 @Service und @Management 클래스를 비활성화했습니다.
또한 my Oracle 데이터 소스는 standalone.xml (ojdbc6.jar 사용)에 추가되었으며 성공적으로 초기화됩니다.
추 신 : 현재이 프로젝트에서는 Seam2를 Seam3으로 대체 할 수 없습니다. 아직 Seam2-JSF2-Branch (https://github.com/heyoulin/seam2jsf2)를 사용하려하지 않았습니다. 대안을 평가하기 전에 현재의 문제점을 이해하고 싶습니다.
시작 중에 다음 오류가 감지되었습니다. 14 : 35 : 28,905 SCHWERWIEGEND [javax.enterprise.resource.webcontainer.jsf.application] (MSC 서비스 스레드 1-7) JSF1051 : 서비스 항목 'org.jboss.as.web.deployment.jsf.JsfInjectionProvider'가 DiscoverableInjectionProvider를 확장하지 않습니다. . 항목은 무시됩니다. –