简体   繁体   English

JSP文件将无法编译-JSPTranslator.CouldNotLoadClass

[英]JSP files won't compile - JSPTranslator.CouldNotLoadClass

I have 6 JSP applications running on a Windows Server 2003 box with JRun 4 with Updater 7 and the Java 1.6.0_14. 我在带有Updater 7和Java 1.6.0_14的JRun 4的Windows Server 2003机器上运行6个JSP应用程序。 All of my applications are working just fine except for 1 of them and any new ones I create in JRun. 我的所有应用程序都可以正常工作,除了其中一个应用程序以及我在JRun中创建的任何新应用程序。 I just cannot find where the difference in configuration or permissions is. 我只是找不到配置或权限的不同之处。

Whenever I attempt to access a JSP file on the app that isn't working I get the following error. 每当我尝试访问无法运行的应用程序上的JSP文件时,都会收到以下错误。

 java.lang.ClassNotFoundException: jrun__jsp__navigation__cm_doc2ejsp1a
at jrun.jsp.JSPClassLoader.findClass(JSPClassLoader.java:135)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at jrun.jsp.JSPEngine.loadClass(JSPEngine.java:657)
at jrun.jsp.JSPEngine.loadClass(JSPEngine.java:646)
at jrun.jsp.JSPEngine.loadServlet(JSPEngine.java:874)
at jrun.jsp.JSPEngine.getServlet(JSPEngine.java:728)
at jrun.jsp.JSPServlet.service(JSPServlet.java:115)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

 javax.servlet.ServletException: JSPTranslator.CouldNotLoadClass/jsp/navigation/cm_doc.jsp
at jrun.jsp.JSPEngine.loadServlet(JSPEngine.java:880)
at jrun.jsp.JSPEngine.getServlet(JSPEngine.java:728)
at jrun.jsp.JSPServlet.service(JSPServlet.java:115)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)

I understand that the error means that the JSP file could not be compiled into the WEB-INF/jsp folder, but I cannot figure out why. 我知道该错误意味着无法将JSP文件编译到WEB-INF / jsp文件夹中,但是我不知道为什么。 All the other sites are working fine. 所有其他站点都工作正常。 Also, have the same issue for any new JRun applications I create while trying to debug this. 另外,尝试调试它时,对于我创建的所有新JRun应用程序也存在相同的问题。 We had recently updated the JVM from 1.4.2.18 to 1.6.0.14, but it wasn't that recent, and the fact that the other sites are working baffles me. 我们刚刚更新了JVM从1.4.2.18到1.6.0.14,但它不是最近,和其他站点正在使用的事实令我感到困惑。 I don't know, I'm at a loss. 我不知道,我很茫然。 I'll post my jrun-web.xml file for completeness, and if any specific logs that might help, just let me know. 为了完整性,我将发布我的jrun-web.xml文件,如果有任何特定的日志可能会有所帮助,请告诉我。 Thanks for any help or suggestions you can provide. 感谢您提供的任何帮助或建议。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jrun-web-app PUBLIC "-//Macromedia, Inc.//DTD jrun-web 4.0//EN" "http://jrun.macromedia.com/dtds/jrun-web.dtd">
<jrun-web-app>
  <session-config>
    <persistence-config>
      <active>true</active>
    </persistence-config>
    <replication-config>
      <active>false</active>
    </replication-config>
  </session-config>
  <context-root>/</context-root>
  <compile>false</compile>
  <reload>false</reload>
  <uri-character-encoding>UTF-8</uri-character-encoding>
  <virtual-mapping>
    <resource-path>/*</resource-path>
    <system-path>D:\WebApps\RegAbbrev\</system-path>
  </virtual-mapping>
  <enable-jrun-web-services>true</enable-jrun-web-services>
  <virtual-mapping>
    <resource-path>/</resource-path>
    <system-path />
  </virtual-mapping>
</jrun-web-app>

The problem somehow ended up being the actual code files or the directory they were housed in. I have no idea as to what could have happened to the files since it was every JSP page and not just ones that may have gotten corrupted somehow. 问题最终以实际的代码文件或它们所在的目录结尾。我不知道文件可能发生什么情况,因为它是每个JSP页面,而不仅仅是可能以某种方式损坏的页面。 But I took another copy of the app's most recent release, put it into a new folder, pointed both IIS and JRun to it, and bamn, it works. 但是我又获取了该应用程序最新发行版的另一个副本,将其放入一个新文件夹中,将IIS和JRun都指向该文件夹,并且可以使用。 Still baffled. 仍然感到困惑。

I recommend stopping Jrun and clearing out the { ServerInstance }/Server-Inf/temp directory. 我建议停止Jrun并清除{ ServerInstance } / Server-Inf / temp目录。

The temp directory is the source of many problems with Jrun as it often doesn't clear the temp files out properly. 临时目录是Jrun出现许多问题的根源,因为它经常无法正确清除临时文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM