我遇到过这个问题,并且只是偶然发现了一个(半)可靠的解决方案,因此想在这里发布一下,以帮助其他人或在我忘记时提醒自己,同时也想问一下是否有人知道根本原因以及为什么我的修复方法有效。
问题是 - 我有一个Spring 3 Web应用程序,我想使用Eclipse中的“运行服务器”选项在Tomcat 7服务器上运行它。对于某些项目,这只是正常工作,但对于某些项目,似乎处于破损状态,每次启动服务器时都会出现类未找到的错误: org.springframework.web.servlet.DispatcherServlet。
经过一些调查,我发现项目的Maven依赖项尚未复制到WEB-INF/lib
中的 ${PROJECT_LOCATION}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/
。
在注意到该项目在“问题”面板中存在警告后,我尝试了很多方法:
Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER
will not be exported or published. Runtime ClassNotFoundExceptions may result.
也许我应该更早地注意到这个问题。
无论如何,选择这个并执行"快速修复"将解决问题,然后我就可以愉快地运行我的项目。 快速修复的方法是:"将相关的原始类路径条目标记为发布/导出依赖项"。
问题是,虽然这样做有效,但我不知道它的含义。 在完成操作后,我看不到任何明显的项目配置更改。 我很想知道实际问题是什么,以及是否可以避免再次发生。 我还想知道是否有其他我自己可以尝试的方法(除了执行快速修复),因为我感觉自己已经尝试了几乎所有其他方法。
谢谢你的帮助。