有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法在tomcat服务器中部署Spring应用程序

我正在努力在tomcat服务器上部署spring应用程序

我在网上找不到任何线索,因为所有的论坛帖子和文档都很旧

注意:同一个应用程序在我的本地机器上完美运行,但我无法将其部署到服务器

异常日志:

20-Jun-2020 13:54:18.215 INFO [http-nio-8080-exec-106] org.apache.catalina.core.ApplicationContext.log HTMLManager: list: Listing contexts for virtual host 'localhost'
20-Jun-2020 13:54:25.144 INFO [http-nio-8080-exec-113] org.apache.catalina.core.ApplicationContext.log HTMLManager: start: Starting web application '/'
20-Jun-2020 13:54:58.949 SEVERE [http-nio-8080-exec-113] org.apache.catalina.core.ApplicationContext.log HTMLManager: Error starting [/]
    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
        at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)
        at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1418)
        at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:700)
        at org.apache.catalina.manager.HTMLManagerServlet.doPost(HTMLManagerServlet.java:223)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:211)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:666)
        at org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:348)
        at org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:53)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.NoClassDefFoundError: org/springframework/web/servlet/config/annotation/WebMvcConfigurerAdapter
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2418)
        at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:865)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1334)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
        at app.SpringWebInicializador.onStartup(SpringWebInicializador.java:25)
        at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5128)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        ... 32 more
    Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1365)
        at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1188)
        ... 43 more
20-Jun-2020 13:54:58.953 INFO [http-nio-8080-exec-113] org.apache.catalina.core.ApplicationContext.log HTMLManager: list: Listing contexts for virtual host 'localhost'
20-Jun-2020 15:01:19.502 INFO [http-nio-8080-exec-125] org.apache.catalina.core.ApplicationContext.log HTMLManager: list: Listing contexts for virtual host 'localhost'
20-Jun-2020 15:01:33.482 INFO [http-nio-8080-exec-127] org.apache.catalina.core.ApplicationContext.log HTMLManager: start: Starting web application '/elixirvinoteca-1'
20-Jun-2020 15:01:35.829 INFO [http-nio-8080-exec-127] org.apache.catalina.core.ApplicationContext.log HTMLManager: list: Listing contexts for virtual host 'localhost'

如何解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    我认为您正在使用Spring 4

    您忘了添加spring-webmvcjar


    如果您正在使用Eclipse IDE,请遵循以下步骤:

    如果它是一个maven项目,请在pom中添加此依赖项。xml

    <!  https://mvnrepository.com/artifact/org.springframework/spring-webmvc  >
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version><!  put the version  ></version>
    </dependency>
    

    然后,执行mvn清洁安装以创建新的。war并将其部署在tomcat/webapps目录中

    如果它是一个动态web项目,那么根据您使用的版本从here下载spring-mvcjar,并将其添加到project/WEB-INF/lib/

    创建一个适当的.war文件并将其部署在tomcat/webapps目录中


    如果您使用的是netbeanside,请遵循here