我正在使用预先配置的web4ter oc4j运行JDeveloper 10.1.3.4。 我正在尝试将一个vanilla JSF webcenter项目推向市场。
我用我的/index.jspx
替换默认页面视图当我尝试部署到本地oc4j时,我得到了以下
----部署开始了。 ---- 2009年5月1日下午2:29:37目标平台是 独立OC4J 10g 10.1.3 (localAppServer)。写了WAR文件给 C:\ jdevstudio10134 \的jdev \ MYWORK \测试\视图控制器\部署\ webapp2.war 写了EAR文件到 C:\ jdevstudio10134 \的jdev \ MYWORK \测试\视图控制器\部署\ webapp2.ear 备份通用归档文件 :/ C:/jdevstudio10134/jdev/mywork/test/ViewController/deploy/webapp2_generic.ear 为WSRP创建WSDL WSRP的应用程序WSDL 应用程序已创建 正在上传文件webapp2.ear ... 正在上传文件webapp2.ear ... webapp2的Application Deployer 开始。将存档复制到 C:\ jdevstudio10134 \ J2EE \家\应用程序\ webapp2.ear 初始化 C:\ jdevstudio10134 \ J2EE \家\应用程序\ webapp2.ear 开始......解压缩webapp2.ear完成 解压缩webapp2.ear解压缩 webapp2.war完成解压缩webapp2.war 初始化 C:\ jdevstudio10134 \ J2EE \家\应用程序\ webapp2.ear 结束...开始申请:webapp2 初始化ClassLoader(s) 应用程序:webapp2失败 状态操作失败并显示错误: 显示java.lang.NullPointerException
部署失败经过的时间 部署:3秒
部署不完整。 #### 2009年5月1日下午2:29:40
如果我手动部署WAR文件并导航到该页面,我会收到500内部服务器错误。
09/05/01 14:49:21.984 webapp2:Servlet 错误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) 在com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) 在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) 在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 :(得分:0)
你应该转到使用wls的jdev 11g,它比oc4j好得多。