2

我有 6 个 JSP 应用程序在 Windows Server 2003 机器上运行,带有 JRun 4 和 Updater 7 和 Java 1.6.0_14。除了其中一个和我在 JRun 中创建的任何新应用程序之外,我所有的应用程序都运行良好。我只是找不到配置或权限的差异在哪里。

每当我尝试访问不工作的应用程序上的 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)

我了解该错误意味着无法将 JSP 文件编译到 WEB-INF/jsp 文件夹中,但我不知道为什么。所有其他网站都运行良好。此外,对于我在尝试调试时创建的任何新 JRun 应用程序都有相同的问题。我们最近将 JVM 从 1.4.2.18 更新到 1.6.0.14,但不是最近,而且其他站点正在运行的事实让我感到困惑。我不知道,我很茫然。为了完整起见,我将发布我的 jrun-web.xml 文件,如果有任何可能有帮助的特定日志,请告诉我。感谢您提供的任何帮助或建议。

<?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>
4

2 回答 2

1

不知何故,问题最终成为实际的代码文件或它们所在的目录。我不知道文件可能发生了什么,因为它是每个 JSP 页面,而不仅仅是那些可能以某种方式损坏的页面。但是我拿了该应用程序最新版本的另一个副本,将其放入一个新文件夹中,将 IIS 和 JRun 都指向它,然后,它就可以工作了。还是一头雾水。

于 2009-08-13T21:46:07.960 回答
0

我建议停止 Jrun 并清除{ ServerInstance }/Server-Inf/temp目录。

temp 目录是 Jrun 的许多问题的根源,因为它通常无法正确清除临时文件。

于 2009-08-13T19:09:14.750 回答