I’m building a dynamic web application in Eclipse using Struts2 and OC4J 10.1.3.3.0. I’m using JDK and JRE 5 everywhere, and OC4J runs perfect when started from the command line.
The problem comes when I try to deploy the project from Eclipse, it throws this error when trying to render the JSP:
2010-07-16 11:21:20.962 NOTIFICATION
J2EE JSP-0008 Unable to dispatch JSP page:
oracle.jsp.provider.JspCompileException:
Compile Errors :D:\Java\contenedor\oc4j_extended_101330\j2ee\home\application-deployments\Login2\Login2\persistence_pages\_Login.java
at
oracle.jsp.app.JspJavacCompiler.compile(JspJavacCompiler.java:304)
at
oracle.jsp.runtimev2.JspPageCompiler.attemptCompilePage(JspPageCompiler.java:731)
at
oracle.jsp.runtimev2.JspPageCompiler.compileBothModes(JspPageCompiler.java:456)
at
oracle.jsp.runtimev2.JspPageCompiler.compilePage(JspPageCompiler.java:413)
at
oracle.jsp.runtimev2.JspPageInfo.compileAndLoad(JspPageInfo.java:705)
at
oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:694)
at
oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:414)
at
oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at
oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at
com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
at
com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
at
com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at
com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at
com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at
oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at
oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
at
oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
at
oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
at
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Unknown
Source)
This is what eclipse shows when starting oc4j:
2010-07-16 13:24:39.987 NOTIFICATION Inicio de Application Deployer para Login2.
2010-07-16 13:24:39.988 NOTIFICATION Anular despliegue anterior
2010-07-16 13:24:39.990 NOTIFICATION Inicio de Application UnDeployer para Login2.
2010-07-16 13:24:40.570 NOTIFICATION Eliminando todos los enlaces Web para la aplicación Login2 de todas las direcciones Web
2010-07-16 13:24:40.652 NOTIFICATION Se ha terminado Application UnDeployer para Login2.
2010-07-16 13:24:40.678 NOTIFICATION Inicio de la inicialización de D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2.ear…
2010-07-16 13:24:40.680 NOTIFICATION Auto-unpacking D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2.ear…
2010-07-16 13:24:40.680 NOTIFICATION Unjar D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2.ear in >D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2
2010-07-16 13:24:40.712 NOTIFICATION Finished auto-unpacking D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2.ear
2010-07-16 13:24:40.732 NOTIFICATION Auto-unpacking D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2\Login2.war…
2010-07-16 13:24:40.732 NOTIFICATION Unjar D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2\Login2.war in >D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2\Login2
2010-07-16 13:24:40.808 NOTIFICATION Finished auto-unpacking D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2\Login2.war
2010-07-16 13:24:40.810 NOTIFICATION Fin de la inicialización de D:\Java\contenedor\oc4j_extended_101330\j2ee\home\applications\Login2.ear…
2010-07-16 13:24:40.811 NOTIFICATION Iniciando la aplicación: Login2
2010-07-16 13:24:40.812 NOTIFICATION Inicializando ClassLoaders
2010-07-16 13:24:40.812 NOTIFICATION Inicializando contenedor EJB
2010-07-16 13:24:40.813 NOTIFICATION Cargando conectores
2010-07-16 13:24:40.843 NOTIFICATION Iniciando los adaptadores de recursos
2010-07-16 13:24:40.844 NOTIFICATION Inicializando sesiones de EJB
2010-07-16 13:24:40.845 NOTIFICATION Confirmando ClassLoaders
2010-07-16 13:24:40.846 NOTIFICATION Inicio de la inicialización de Login2…
2010-07-16 13:24:40.862 NOTIFICATION Fin de la inicialización de Login2…
2010-07-16 13:24:40.869 NOTIFICATION Aplicación iniciada: Login2
2010-07-16 13:24:40.887 NOTIFICATION Inicio de enlace de aplicaciones Web a la dirección default-web-site…
2010-07-16 13:24:41.177 NOTIFICATION Fin de enlace de aplicaciones Web a la dirección default-web-site…
2010-07-16 13:24:41.178 NOTIFICATION Se ha terminado Application Deployer para Login2. Hora de la Operación: 1193 msecs
16/07/2010 01:24:50 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
INFO: Parsing configuration file [struts-default.xml]
16/07/2010 01:24:51 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
INFO: Unable to locate configuration files of the name struts-plugin.xml, skipping
16/07/2010 01:24:51 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
INFO: Parsing configuration file [struts-plugin.xml]
16/07/2010 01:24:51 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
INFO: Parsing configuration file [struts.xml]
16/07/2010 01:24:51 PM com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
INFO: Loading global messages from ApplicationResources
The JSP is fine, it’s just simple HTML and also runs fine with Tomcat. I don’t understand what is happening here. Any ideas?
It seems that the problem was that when starting oc4j from Eclipse, oc4j has problems finding java at C:\Program Files (x86)\java.
It seems that “(” is a special character that eclipse or oc4j can´t parse well.
Moving java to C:\ and setting oc4j with this new path solves the problem.