1

I'm struggling to deploy a spring application on the tomcat server.

I can't find any clues on the internet since all the forums posts and documentation are quite old.

Note: The same application that runs perfectly on my local machine but I'm unable to deploy it to a server.

The exception log :

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'

How to resolve this ?

Anish B.
  • 9,111
  • 3
  • 21
  • 41
zamba
  • 13
  • 3

1 Answers1

0

I think you are using Spring 4.

You forgot to add the spring-webmvc jar.


If you are using Eclipse IDE, then follow this :

If it's a maven project, add this dependency in the 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>

Then, do a mvn clean install to create a fresh .war and deploy it in the tomcat/webapps directory.

If it's a dynamic web project, then download the spring-mvc jar from here according to the version you are using and add that in the project/WEB-INF/lib/

Create a proper .war file and deploy it in the tomcat/webapps directory.


If you are using NetBeans IDE, then follow here.

Anish B.
  • 9,111
  • 3
  • 21
  • 41
  • 1
    I'm afraid it didn't worked.. i've already had this dependency, but either way rebuilt and re-deployed and didn't do it. also checked both links provided (thx anyway) and couldn't get any solution.. the only think i've not tried is this [link](https://crunchify.com/how-to-fix-java-lang-classnotfoundexception-org-springframework-web-servlet-dispatcherservlet-exception-spring-mvc-tomcat-and-404-error/) since i'm using Netbeans and this option is not available there – zamba Jun 20 '20 at 16:46
  • @zamba Bro !! Use eclipse. It's far better. – Anish B. Jun 20 '20 at 16:48
  • @zamba Follow this : https://netbeans.org/kb/docs/web/quickstart-webapps-spring.html – Anish B. Jun 20 '20 at 16:52
  • @zamba Also, follow this https://stackoverflow.com/questions/1007346/how-can-i-create-a-war-file-of-my-project-in-netbeans – Anish B. Jun 20 '20 at 16:55
  • 1
    Thanks! After doing a lot of research i've found that wasn't compiling bc of version mismatches in dependencies, now it is successfully running in my localhost and also in the server, but i cannot access it (it shows a 404 error..) i'm still doing research about it, but if you have some clue i'll be thankfull! – zamba Jun 20 '20 at 23:23
  • @zamba Can you mark this as accepted answer if it was helpful ? – Anish B. Jun 21 '20 at 02:44
  • 1
    i've marked yours as the most accepted one since i valued much your help.. the issue i was having was dependencies compatibility.. after deleting a few dependencies the project was built correctly! thanks! – zamba Jun 21 '20 at 16:30