【发布时间】:2011-06-14 04:54:00
【问题描述】:
我遇到过几次这个问题,只是偶然发现了一个(半)可靠的解决方案,所以我想我会在这里发布它以防它帮助其他人,或者我忘记它,并且询问是否有人知道根本原因是什么以及为什么我的修复有效。
问题 - 我有一个 spring 3 webapp,我想使用 Eclipse 中的 Run on Server 选项在 Tomcat 7 服务器上运行。对于某些项目,这可以正常工作,但有些项目似乎处于损坏状态,每次服务器启动时我都会得到一个找不到的类:org.springframework.web.servlet.DispatcherServlet。
经过一番调查我发现项目的maven依赖没有被复制到${PROJECT_LOCATION}/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/中的WEB-INF/lib
我尝试了很多东西,最后才注意到该项目在问题面板中有警告:
Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER
will not be exported or published. Runtime ClassNotFoundExceptions may result.
也许我应该早点注意到这一点。
无论如何,选择此选项并执行“快速修复”可以解决问题,我可以愉快地运行我的项目。快速修复是:“将关联的原始类路径条目标记为发布/导出依赖项”。
问题是,虽然这可行,但我不知道这意味着什么。完成后,我的项目配置看不到任何明显的变化。我很想知道实际的问题是什么,如果我能避免它再次发生。我还想知道我是否可以自己做一些事情(除了执行快速修复)来修复它,因为我觉得我几乎尝试了其他所有方法。
感谢您的帮助。
【问题讨论】:
标签: java eclipse tomcat maven classnotfoundexception