3

我尝试在 Eclipse 上运行 Apache Tomcat Server 并遇到以下问题:

  1. Catalina_Base 正在使用临时位置!
  2. 我无法部署依赖项“jar 文件”!
  3. 运行我的 Web 项目时出现以下异常:
SEVERE: Servlet.service() for servlet [jsp] in context with path [] threw exception [java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;] with root cause java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
4

1 回答 1

6

通过执行以下步骤,我设法解决了上述 3 个问题:

1- 双击您的服务器(在这种情况下为 tomcat)[如果您看不到它,请转到Windows -> Show/View -> Other -> Server -> Servers]。您的服务器名称将类似于:“Tomcat v7.0 Server at localhost”。

双击服务器并确保服务器位置设置为:“使用 Tomcat 安装(控制 Tomcat 安装)”。如果您无法编辑服务器位置:停止服务器,right-click the server and select Publish. 如果您仍然无法编辑它:

右键单击服务器 --> 添加和删除并删除您的项目,然后再次发布。

选择“使用 Tomcat 安装”的原因是 Catalina_Base 将指向一个临时位置,看起来像:

"-Dcatalina.base="C:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1"

即使尝试打开 Apache Tomcat 起始页,这也会导致 404 错误。选择“使用 Tomcat 安装”时,Catalina_Home 和 Catalina_Base 值将相同,并且都将指向 Tomcat 安装目录:示例:

-Dcatalina.base="C:\apache-tomcat-7.0.37" -Dcatalina.home="C:\apache-tomcat-7.0.37"

要查看参数:

双击服务器,然后单击“打开启动配置”,值将出现在“参数”选项卡中。

2- 使用依赖项(例如外部 Jar 文件)时,确保文件位于:Web-Inf/lib 中,然后通过执行以下操作将它们添加到类路径:

右击项目 --> Build-path --> Configure Build Path 选择“Libraries”选项卡 点击 Add External JARs 并选择 Web-Inf/lib 中的 jar 文件

接下来,您需要部署依赖项: 为此:

右键单击项目 -> 属性 从左侧选择“部署程序集” 在右侧单击添加 -> Java 构建路径条目 -> 下一步 添加项目所需的所有 jar 文件。

否则,您将获得已使用的 jar 文件的类未找到异常。

3- 确保 Web-Inf/lib 不包含来自 Apache Tomcat 的任何 jar 文件,因为这会导致冗余并给出上述异常!

于 2013-03-18T19:20:30.497 回答