Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法从Tomcat上的Maven项目部署我的servlet_Java_Eclipse_Maven_Tomcat - Fatal编程技术网

Java 无法从Tomcat上的Maven项目部署我的servlet

Java 无法从Tomcat上的Maven项目部署我的servlet,java,eclipse,maven,tomcat,Java,Eclipse,Maven,Tomcat,我在eclipse上有一个现有的maven项目,其中包括一个servlet类(ConfigFileInput.java): ConfigFileInput.java是servlet类,而其他类是普通的java类,CreateMasterConfig.java包含main方法 我想在本地Tomcat服务器上部署这个servlet。我正确地设置了必要的maven依赖项和配置,maven成功地生成了.war文件 当我将这个.war文件上传到我的Tomcat服务器并部署它时,它无法启动。 因此,我在T

我在eclipse上有一个现有的maven项目,其中包括一个servlet类(
ConfigFileInput.java
):

ConfigFileInput.java
是servlet类,而其他类是普通的java类,
CreateMasterConfig.java
包含main方法

我想在本地Tomcat服务器上部署这个servlet。我正确地设置了必要的maven依赖项和配置,maven成功地生成了
.war
文件

当我将这个
.war
文件上传到我的Tomcat服务器并部署它时,它无法启动。 因此,我在Tomcat文件夹中查找我的webapp目录,发现所有相关类都存在

我怀疑我的servlet无法部署,因为主方法在
CreateMasterConfig.java
中,而servlet类是
ConfigFileInput.java
,但我不确定这是否正确,以及我应该如何纠正这一点

我希望你能给我一些建议

编辑

My 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>
改变

ConfigFileInput

致:

edu.apololgrp.dfe.configuration.masterconfig.ConfigFileInput

这将修复您的错误。 你应该知道一些有关的词汇。servlet中不需要任何
main方法

变化

ConfigFileInput

致:

edu.apololgrp.dfe.configuration.masterconfig.ConfigFileInput

这将修复您的错误。
你应该知道一些有关的词汇。servlet中不需要任何
main方法

第一件事是用完整的包名更改servlet名称,正如msangel在回答中提到的那样

其次,您需要了解错误消息:

java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet

当您试图在.war文件中部署catalina.jar时,通常会发生这种情况。只需将构建文件修复为在.war文件中不包含catalina.jar文件。这将消除此错误。

第一件事是使用完整的包名更改servlet名称,如msangel在其回答中所述

其次,您需要了解错误消息:

java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet

当您试图在.war文件中部署catalina.jar时,通常会发生这种情况。只需将构建文件修复为在.war文件中不包含catalina.jar文件。这将消除此错误。

您可以共享您的网站吗。xml@JunedAhsan,将其添加到问题“您是否可以共享您的web?”。xml@JunedAhsan,将其添加到问题中