我尝试运行一个基本的 Spring MVC 应用程序,例如 here (或者 Spring MVC 教程 here )。
我只是在 IntelliJ 中打开该项目,将其导入 Tomcat 7 实例,然后启动 Tomcat 服务器。但是当我尝试访问 http://localhost:8080
时,出现 404 错误。
我从 GitHub 下载的项目提供了 2 种启动应用程序的方式,使用 mvn jetty:run
或 mvn tomcat7:run
。当我运行任何这些命令(在 IntelliJ 之外)时,应用程序成功启动,并且网页在 http://localthost:8080
URL 上正确显示,这让我认为问题来了来自 IntelliJ。
添加一些调试信息,似乎在 IntelliJ 下运行时,会加载 WebInitializer
类,但不会加载 WebConfig
类,即使方法 WebInitializer调用 .getServletConfigClasses()
。
使用mvn jetty:run
或mvn tomcat7:run
,这两个类都被正确实例化。
不幸的是,我在 Tomcat/IntelliJ 提供的任何日志中都没有任何错误,所以我有点迷失。
我做错了什么,或者我在 IntelliJ 项目配置中遗漏了什么?
谢谢
技术信息:Java 7、Tomcat 7、IntelliJ Ultimate 12.1.4、Spring 3.2.2.RELEASE
最佳答案
我的问题已经解决了。我在 IntelliJ 中使用 Tomcat 7.0.8,而 tomcat7-maven-plugin 依赖于 Tomcat 7.0.30。 所以我下载了最新版本 7.0.42,现在 IntelliJ 工作正常。
我不确定 7.0.8 中缺少哪些功能,但 IntelliJ 无法正确启动我的 Spring MVC 应用程序。
关于java - 部署在 Tomcat 上的 Spring MVC 应用程序无法在 IntelliJ 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18888714/