2009-05-01 12 views
3

웹 컨스트럭터 oc4j를 사용하여 JDeveloper 10.1.3.4를 실행하고 있습니다. 바닐라 JSF 웹 센터 프로젝트를 포틀릿 화하려고합니다.JSF Faces Bridge는 oc4j 컨테이너에 배포 할 때 java.lang.NullPointerException을 얻습니다.

  1. 웹 센터 응용 프로그램 템플릿을 사용하여 응용 프로그램을 만듭니다.
  2. JSF JSP를 추가합니다.이 JSP는 모든 기본값이있는 index라는 간단한 코드입니다.
  3. 배포 프로파일을 추가하고 로컬 oc4j에 배포
  4. jsf 페이지로 이동하면 모든 것이 작동합니다.
  5. ViewController를 마우스 오른쪽 단추로 클릭하고 라이브러리 추가 Portlet Faces Bridge
  6. ViewController를 마우스 오른쪽 단추로 클릭하고 포틀릿 배치 설명자를 추가하십시오. 난 내가 추적을받을 지역 OC4J에 배포 할 때 portlet.xml의에서 link text

  7. 의 값으로

  8. 편집은 portlet.xml 내가 내 /index.jspx

    으로 기본 페이지 뷰를 교체

    ---- Deployment started. ---- May 1, 2009 2:29:37 PM Target platform is Standalone OC4J 10g 10.1.3 (localAppServer). Wrote WAR file to C:\jdevstudio10134\jdev\mywork\test\ViewController\deploy\webapp2.war Wrote EAR file to C:\jdevstudio10134\jdev\mywork\test\ViewController\deploy\webapp2.ear Backing up generic archive file :/C:/jdevstudio10134/jdev/mywork/test/ViewController/deploy/webapp2_generic.ear Creating WSDLs for the WSRP Application WSDLs for the WSRP Application have been created Uploading file webapp2.ear ... Uploading file webapp2.ear ... Application Deployer for webapp2 STARTS. Copy the archive to C:\jdevstudio10134\j2ee\home\applications\webapp2.ear Initialize C:\jdevstudio10134\j2ee\home\applications\webapp2.ear begins... Unpacking webapp2.ear Done unpacking webapp2.ear Unpacking webapp2.war Done unpacking webapp2.war Initialize C:\jdevstudio10134\j2ee\home\applications\webapp2.ear ends... Starting application : webapp2 Initializing ClassLoader(s) application : webapp2 is in failed state Operation failed with error: java.lang.NullPointerException

    Deployment failed Elapsed time for deployment: 3 seconds

    Deployment incomplete. #### May 1, 2009 2:29:40 PM

    내가 손으로 WAR 파일을 배포하고 페이지로 이동하면

내가 500 내부 서버 오류가 발생합니다.

09/05/01 14:49:21.984 webapp2: Servlet error java.lang.NullPointerException at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) at oracle.portlet.server.bridges.jsf.PortletViewHandlerImpl.renderView(PortletViewHandlerImpl.java:73) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher .java:713) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher .java:370) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler .java:871) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler .java:453) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler .java:221) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor .java:303) at java.lang.Thread.run(Thread.java:595)

내 portlet.xml 파일 내가 파일을 삭제하고 다시 전개 경우

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<portlet-app version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> 
<portlet> 
    <description>myapp</description> 
    <portlet-name>test</portlet-name> 
    <display-name>myapp</display-name> 
    <portlet-class>oracle.portlet.server.bridges.jsf.FacesPortlet 
    </portlet-class> 
    <init-param> 
     <name>DefaultPage.view</name> 
     <value>/index.jspx</value> 
    </init-param> 
    <init-param> 
     <name>BridgeLifecycleListeners</name> 
     <value> 
     oracle.portlet.server.bridges.jsf.adf.ADFFacesBridgeLifecycleListener, 
     oracle.portlet.server.bridges.jsf.adf.BindingFacesBridgeLifecycleListener 
     </value> 
    </init-param> 
    <supports> 
    <mime-type>text/html</mime-type> 
    <portlet-mode>VIEW</portlet-mode> 
    </supports> 
    <supported-locale>en</supported-locale> 
    <portlet-info> 
     <title>myapp</title> 
     <short-title>test</short-title> 
    </portlet-info> 
    </portlet> 
</portlet-app> 

처럼 ...하여 jspx 페이지가 잘 작동 보인다.

답변

0

wds를 사용하는 jdev 11g로 이동해야합니다. 이는 oc4j보다 훨씬 우수합니다.