我有一个使用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)
是否有需要在eclipse / tomcat中进行任何特定的类路径设置
注意:我能够运行mvn clean install并创建jar文件。然后,当我将jar移到tomcat(7)webapp目录并重新启动时,它就可以正常工作。
我没有发布pom.xml的详细信息,因为应用程序本身运行正常。但是id需要它在分辨率中,我可以发布它。
Tomcat和Spring Web-找不到类异常org.springframework.web.context.ContextLoaderListener
在“项目资源管理器”中右键单击您的Web项目->选择“属性”。在项目属性下,选择“部署程序集”。
DeploymentAssembly属性页面显示了将由Eclipse作为组合工件发布到服务器的内容。您需要告诉Eclipse您也希望发布所有Maven依赖项。
为此,请单击“添加”按钮,然后选择“Java构建路径条目”。单击下一步,然后选择Maven依赖关系。当Eclipse将项目发布到WST服务器时,这会将Maven依赖关系JAR文件发布到lib文件夹。