我尝试在 Eclipse 上运行 Apache Tomcat 服务器,但遇到了以下问题:
- Catalina_Base 正在使用临时位置!
- 我无法部署依赖项“jar 文件”!
- 我在运行我的网络项目时遇到以下异常:
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;
最佳答案
我通过执行以下步骤设法解决了上述 3 个问题:
1- 双击您的服务器(在本例中为 tomcat)[如果看不到它,请转到 Windows -> Show/View -> Other -> Server -> Servers
]。您的服务器名称将类似于:
“本地主机上的 Tomcat v7.0 服务器”。
双击服务器并确保服务器位置设置为:
“使用 Tomcat 安装(控制 Tomcat 安装)”。
如果您无法编辑服务器位置:
停止服务器,右键单击服务器并选择“发布”
。
如果您仍然无法编辑它:
Right click the server --> Add and Remove and remove your project then publish it again.
选择“使用 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"
查看参数:
Double Click the Server then click on "Open launch configuration", the values will appear in the "Arguments" tab.
2- 使用依赖项(例如外部 Jar 文件)时,确保文件位于: Web-Inf/lib 然后通过执行以下操作将它们添加到类路径中:
Right-click the project --> Build-path --> Configure Build Path Select the "Libraries" tab Click Add External JARs and select the jar files in Web-Inf/lib
接下来需要部署依赖: 为此:
Right-Click the project -> Properties From the left side select "Deployment Assembly" On the right hand side click Add -> Java Build Path Entries -> Next Add all the jar files your project needs.
否则,对于使用的 jar 文件,您将得到一个未找到类的异常。
3- 确保 Web-Inf/lib 不包含来自 Apache Tomcat 的任何 jar 文件,因为这会导致冗余并会出现上述异常!
关于eclipse - 如何使用 Apache Tomcat 服务器运行 Eclipse 动态 Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15414586/