maven + eclipse + tomcat:类未找到异常

SK1*_*76H 15 eclipse tomcat maven

我有一个使用servlet的简单Web应用程序.我创建它作为maven项目,然后将其导入eclipse(文件 - >导入 - >现有的maven项目)

战争正确地部署到tomcat 7.

然而,当我在Eclipse中创建一个tomcat 7服务器然后在eclipse中启动tomcat时,我在运行应用程序时遇到异常.

root cause

java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
    first.model.BeerExpert.<clinit>(BeerExpert.java:12)
    first.servlet.BeerServlet.doPost(BeerServlet.java:26)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause

java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    first.model.BeerExpert.<clinit>(BeerExpert.java:12)
    first.servlet.BeerServlet.doPost(BeerServlet.java:26)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Run Code Online (Sandbox Code Playgroud)

是否有任何特定的类路径设置需要在eclipse/tomcat中完成

注意:我能够运行mvn clean install并创建jar文件.然后当我将jar移动到tomcat(7)webapp目录并重新启动它就可以了.

我没有发布pom.xml的详细信息,因为应用程序本身工作正常.但是我需要在分辨率中使用它才能发布它.

SK1*_*76H 40

Tomcat和Spring Web - 未找到类异常org.springframework.web.context.ContextLoaderListener

在项目浏览器中右键单击您的Web项目 - >选择"属性".在项目属性下,选择"部署程序集".

Deployment Assembly属性页面显示Eclipse将作为组合工件发布到服务器的内容.您需要告诉Eclipse您希望发布所有Maven依赖项.

为此,单击"添加"按钮,然后选择"Java构建路径条目".单击"下一步",然后选择"Maven依赖项".当Eclipse将项目发布到WST服务器时,这会将Maven依赖项JAR文件发布到lib文件夹

  • 我有同样的问题,无法弄清楚两天出了什么问题.我想我的情况非常独特,但我把它放在那里以防万一.对于未导出的项目,我转到了Properties - > Project Facets并取消选中Utility Module.在Tomcat上干净并重新发布.这样做了.我觉得这只是一些奇怪的错误,但我加入以防万一它可以帮助某人. (2认同)