HTTP 404 TOMCAT war 部署 ANT

HTTP 404 TOMCAT war deployment ANT

我正在使用 ANT 工具构建一个 war 文件,一旦构建它就会被复制到 tomcat webapps 文件夹。但是,tomcat 服务器在执行后显示 404 错误。

错误:

Ant 构建部分:

<property name="deployment.dir" location="./a222rc/server" />
<property name="BUILD_ALL" location="./a222rc/build/" />
<property name="webxml.path" location="${deployment.dir}/WEB-INF/web.xml" />

<property name="tomcat" value="D:/Users/user/apache-tomcat-8.5"/>   
<property name="tomcat.deployment" value="${tomcat}/webapps" />
<property name="tomcat.bin" value="${tomcat}/bin" />

<target name="create_war" description="Generates war for complete module">
    <war destfile="${BUILD_ALL}/eCollection_rc.war" webxml="${webxml.path}">
        <fileset dir="${deployment.dir}">
            <exclude name="**/classes12.jar" />
        </fileset>
        <fileset dir="${help.dir}" />
    </war>
    <antcall target="deployTarget"/>
</target>
<!-- *******************  Deploy and start*************************** -->
<target name="deployTarget">
    <copy file="${BUILD_ALL}/mybuild.war" todir="${tomcat.deployment}"/>
    <antcall target="startTomcat"/>
</target>

<target name="startTomcat">
    <exec  executable="${tomcat.bin}/startup.bat"/>
</target>
    

<target name="stopTomcat">
    <exec executable="${tomcat.bin}/shutdown.bat"/>
</target>   

Web.xml

<servlet>
    <servlet-name>ControlerServlet</servlet-name>
    <servlet-class>a222rc.ControlerServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ControlerServlet</servlet-name>
    <url-pattern>/servlet/ControlerServlet</url-pattern>
</servlet-mapping>

la classe controlerServlet 位于 WEB-INF/classes/a222rc.

Catalina 日志:

      [main] org.apache.catalina.startup.VersionLoggerListener.log Version du serveur:        Apache Tomcat/8.5.47
      [main] org.apache.catalina.startup.VersionLoggerListener.log Serveur compilé:       Oct 7 2019 13:30:46 UTC
      [main] org.apache.catalina.startup.VersionLoggerListener.log Version du serveur:      8.5.47.0
      [main] org.apache.catalina.startup.VersionLoggerListener.log Nom de l'OS:           Windows 10
      [main] org.apache.catalina.startup.VersionLoggerListener.log Version de l'OS:        10.0
      [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
      [main] org.apache.catalina.startup.VersionLoggerListener.log Répertoire de Java:     C:\Program Files\Java\jre1.8.0_231
      [main] org.apache.catalina.startup.VersionLoggerListener.log Version de la JVM:           1.8.0_231-b11
      [main] org.apache.catalina.startup.VersionLoggerListener.log Fournisseur de la JVM:            Oracle Corporation
      [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         D:\Users\username\apache-tomcat-8.5.47
      [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         D:\Users\username\apache-tomcat-8.5.47
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Djava.util.logging.config.file=d:\Users\username\apache-tomcat-8.5.47\conf\logging.properties
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Djdk.tls.ephemeralDHKeySize=2048
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Dignore.endorsed.dirs=
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Dcatalina.base=d:\Users\username\apache-tomcat-8.5.47
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Dcatalina.home=d:\Users\username\apache-tomcat-8.5.47
      [main] org.apache.catalina.startup.VersionLoggerListener.log Argument de la ligne de commande: -Djava.io.tmpdir=d:\Users\username\apache-tomcat-8.5.47\temp
      [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent La librairie Apache Tomcat Native basée sur APR qui permet des performances optimales dans les environnements de production n'a pas été trouvée sur le java.library.path: [C:\Program Files\Java\jre1.8.0_231\bin;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program Files/Java/jdk1.8.0_231/bin/../jre/bin/server;C:/Program Files/Java/jdk1.8.0_231/bin/../jre/bin;C:/Program Files/Java/jdk1.8.0_231/bin/../jre/lib/amd64;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\TortoiseSVN\bin;d:\Users\username\AppData\Local\Microsoft\WindowsApps;d:\Users\username\apache-tomcat-8.5.47\lib;;C:\windows\System32;;.]
      [main] org.apache.coyote.AbstractProtocol.init Initialisation du gestionnaire de protocole ["http-nio-8080"]
      [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
      [main] org.apache.coyote.AbstractProtocol.init Initialisation du gestionnaire de protocole ["ajp-nio-8009"]
      [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read
      [main] org.apache.catalina.startup.Catalina.load Initialization processed in 510 ms
      [main] org.apache.catalina.core.StandardService.startInternal Démarrage du service [Catalina]
      [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.47
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Déploiement de l'archive [D:\Users\username\apache-tomcat-8.5.47\webapps\eCollection_rc.war] de l'application web
      [localhost-startStop-1] org.apache.catalina.startup.ExpandWar.expand Un répertoire décompressé [D:\Users\username\apache-tomcat-8.5.47\webapps\eCollection_rc] a été trouvé avec une date de dernière modification qui ne correspond pas au WAR associé, il sera effacé
      [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Le déploiement de l'archive de l'application web [D:\Users\username\apache-tomcat-8.5.47\webapps\eCollection_rc.war] s'est terminé en [661] ms
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Déploiement du répertoire d'application web [D:\Users\username\apache-tomcat-8.5.47\webapps\docs]
      [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Le déploiement du répertoire [D:\Users\username\apache-tomcat-8.5.47\webapps\docs] de l'application web s'est terminé en [204] ms
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Déploiement du répertoire d'application web [D:\Users\username\apache-tomcat-8.5.47\webapps\examples]
      [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Le déploiement du répertoire [D:\Users\username\apache-tomcat-8.5.47\webapps\examples] de l'application web s'est terminé en [380] ms
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Déploiement du répertoire d'application web [D:\Users\username\apache-tomcat-8.5.47\webapps\host-manager]
      [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Le déploiement du répertoire [D:\Users\username\apache-tomcat-8.5.47\webapps\host-manager] de l'application web s'est terminé en [175] ms
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Déploiement du répertoire d'application web [D:\Users\username\apache-tomcat-8.5.47\webapps\manager]
      [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Le déploiement du répertoire [D:\Users\username\apache-tomcat-8.5.47\webapps\manager] de l'application web s'est terminé en [200] ms
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Déploiement du répertoire d'application web [D:\Users\username\apache-tomcat-8.5.47\webapps\ROOT]
      [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
      [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Le déploiement du répertoire [D:\Users\username\apache-tomcat-8.5.47\webapps\ROOT] de l'application web s'est terminé en [182] ms
      [main] org.apache.coyote.AbstractProtocol.start Démarrage du gestionnaire de protocole ["http-nio-8080"]
      [main] org.apache.coyote.AbstractProtocol.start Démarrage du gestionnaire de protocole ["ajp-nio-8009"]
      [main] org.apache.catalina.startup.Catalina.start Server startup in 1872 ms
      

我找到了解决方案:

我的 WAR 名称与我的应用程序名称不同,所以我更正了它并且成功了。