【问题标题】:Cannot deploy a Spring application in the tomcat server [duplicate]无法在 tomcat 服务器中部署 Spring 应用程序 [重复]
【发布时间】:2020-10-10 17:48:16
【问题描述】:

我正在努力在 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'

如何解决这个问题?

【问题讨论】:

  • 你用的是哪个版本的spring?

标签: java spring tomcat


【解决方案1】:

我认为您正在使用 Spring 4

您忘记添加 spring-webmvc jar。


如果您使用的是 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 clean install 以创建新的 .war 并将其部署到 tomcat/webapps 目录中。

如果是动态web项目,则根据你使用的版本从here下载spring-mvcjar,并添加到project/WEB-INF/lib/

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


如果您使用的是 NetBeans IDE,请关注 here

【讨论】:

  • 恐怕它没有用..我已经有了这种依赖关系,但无论哪种方式都重建并重新部署并没有这样做。还检查了提供的两个链接(无论如何谢谢)并且无法获得任何解决方案..我唯一没有尝试过的是这个link,因为我使用的是Netbeans并且这个选项在那里不可用
  • @zamba 兄弟!!使用日食。好多了。
  • 谢谢!经过大量研究后,我发现没有编译依赖项中版本不匹配的 bc,现在它已在我的本地主机和服务器中成功运行,但我无法访问它(它显示 404 错误..)我还在研究它,但如果你有一些线索,我会很感激的!
  • 我已将您的项目标记为最受接受的项目,因为我非常重视您的帮助。我遇到的问题是依赖项兼容性。删除一些依赖项后,项目构建正确!谢谢!
猜你喜欢
  • 2021-11-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-07
  • 2018-11-30
  • 1970-01-01
  • 2023-02-20
  • 1970-01-01
  • 2020-11-27
相关资源
最近更新 更多