I'm experiencing a very irritating problem with Eclipse (4.7.3a) and embedded Tomcat (7.0.56).
I have a Spring Boot web application that is packaged as a .war file and deployed to Tomcat - it does not use Spring Boot's embedded Tomcat as it needs to be deployed alongside non-Boot Spring applications.
Within Eclipse I can add the application to Tomcat as a Web Module and publish it. However when I start Tomcat from Eclipse the application is not started. I spent some time following suggestions such as this but they made no difference.
Finally I looked in workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps
and found a directory named after my application ("app") which contained only WEB-INF/web.xml and nothing else. I deleted "app" and manually copied the .war file to wtpwebapps. When I started Tomcat in Eclipse my application started as expected, and I was able to debug it using breakpoints.
Clearly my application's .war is working as expected, so I don't believe this is a Spring configuration issue but an Eclipse configuration issue.
How can I get Eclipse to deploy the full application and not just WEB-INF/web.xml? The application's Project Facets (in case they're relevant) are
- Dynamic Web Module (3.0)
- Java (1.8)
- JavaScript (1.0)