【发布时间】:2019-02-12 06:35:04
【问题描述】:
我已经看到了很多解决这个问题的方法,但都没有奏效,问题是我已经向谷歌云部署了一个简单的 hello world,servlet 和 .html 页面一切正常,但是当涉及到 .jsp 页面时,服务器无法加载它并引发异常(尽管 .jsp 页面在本地运行良好)。 我尝试过的解决方案:
- 使用 JDK 而不是 JRE(我在项目构建路径中更改了 JRE 系统库)。
- 尝试将编译器级别设置为 1.7,但发现应用引擎强制您使用 1.8。
- 尝试手动将 .jsp 文件添加到 web.xml 文件中。
- 尝试将索引页面设置为.jsp也没有成功,目前唯一的.jsp文件名为mua.jsp
- 最后我让我的朋友在他的 macbook 上部署了一个带有基本 jsp 文件(也称为 mua)的 hello world 项目到云上的同一个项目,但也没有工作。
我所说的“不起作用”是指页面没有加载,而是显示错误 500。
让情况变得非常奇怪的是,在我朋友的最后几次部署中,错误更改为 404,没有抛出异常 ..
例外:
javax.servlet.UnavailableException:持有者的类加载错误 mua@1a7b9==org.apache.jsp.mua_jsp,jsp=/mua.jsp,order=-1,inst=false, javax.servlet.UnavailableException:持有者的类加载错误 org.apache.jsp.mua_jsp@918a9ac4==org.apache.jsp.mua_jsp,jsp=null,order=-1,inst=false, javax.servlet.UnavailableException:持有者的类加载错误 org.apache.jsp.mua_jsp@918a9ac4==org.apache.jsp.mua_jsp,jsp=null,order=-1,inst=false, javax.servlet.UnavailableException:持有者的类加载错误 mua@1a7b9==org.apache.jsp.mua_jsp,jsp=/mua.jsp,order=-1,inst=false] 在 org.eclipse.jetty.servlet.ServletHandler.initialize (ServletHandler.java:863) 在 org.eclipse.jetty.servlet.ServletContextHandler.startContext (ServletContextHandler.java:349) 在 org.eclipse.jetty.webapp.WebAppContext.startWebapp (WebAppContext.java:1406) 在 com.google.apphosting.runtime.jetty9.AppEngineWebAppContext.startWebapp (AppEngineWebAppContext.java:159) 在 org.eclipse.jetty.webapp.WebAppContext.startContext (WebAppContext.java:1368) 在 org.eclipse.jetty.server.handler.ContextHandler.doStart (ContextHandler.java:778) 在 org.eclipse.jetty.servlet.ServletContextHandler.doStart (ServletContextHandler.java:262) 在 org.eclipse.jetty.webapp.WebAppContext.doStart (WebAppContext.java:522) 在 com.google.apphosting.runtime.jetty9.AppEngineWebAppContext.doStart (AppEngineWebAppContext.java:116) 在 org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) 在 com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.createHandler (AppVersionHandlerMap.java:244) 在 com.google.apphosting.runtime.jetty9.AppVersionHandlerMap.getHandler (AppVersionHandlerMap.java:182) 在 com.google.apphosting.runtime.jetty9.JettyServletEngineAdapter.serviceRequest (JettyServletEngineAdapter.java:109) 在 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchServletRequest (JavaRuntime.java:693) 在 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.dispatchRequest (JavaRuntime.java:655) 在 com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run (JavaRuntime.java:625) 在 com.google.apphosting.runtime.JavaRuntime$NullSandboxRequestRunnable.run (JavaRuntime.java:819) 在 com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run (ThreadGroupPool.java:274) 在 java.lang.Thread.run (Thread.java:745)
【问题讨论】:
-
嗨 Muawiyah,您是否有机会将显示此错误的示例项目发布到 github?你用的是什么工具链?最新的 Google Cloud Tools for Eclipse 插件?如果您详细说明您为部署所采取的步骤,它也可能会有所帮助。
-
谢谢@PatrickFlynn,问题在于使用 java 10 而不是 java 8。
标签: java eclipse jsp google-app-engine google-cloud-platform