我在 Eclipse 上有一个现有的 maven 项目,其中包含一个 servlet 类(ConfigFileInput.java
):
ConfigFileInput.java
是servlet 类,而其他类是普通的java 类,并且CreateMasterConfig.java
包含main 方法。
我想在本地 Tomcat 服务器上部署这个 servlet。我正确设置了必要的 maven 依赖项和配置,并且 maven.war
成功生成了一个文件。
当我将此.war
文件上传到我的 Tomcat 服务器并部署它时,它无法启动。因此,我在 Tomcat 文件夹中查找了我的 webapp 的目录,发现所有相关的类都存在。
我怀疑我的 servlet 无法部署,因为 main 方法是 inCreateMasterConfig.java
而 servlet 类是ConfigFileInput.java
,但我不确定这是否属实,以及我应该如何纠正这个问题。
我会很感激这方面的一些建议。
编辑
我的 web.xml 文件:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>ConfigFileInput</display-name>
<description>
This application accepts a URL from user to read the Config File, validates it,
and merges into MasterConfigFile
</description>
<servlet>
<servlet-name>ConfigFileInput</servlet-name>
<servlet-class>ConfigFileInput</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ConfigFileInput</servlet-name>
<url-pattern>/ConfigFileInput</url-pattern>
</servlet-mapping>
编辑2:
刚刚查看了Tomcat生成的日志文件,遇到了这个错误:
SEVERE: End event threw exception
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:802)
at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1057)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1742)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2900)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:607)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:489)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:835)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:568)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1543)