我无法在Eclipse中为maven项目启动Tomcat:
java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher
启动tomcat时。
同样在eclipse之外工作(制作战争并在Tomcat中部署)
任何人都可以建议做什么吗?
答案 0 :(得分:1)
我的回答稍微偏离主题但是如果我敢,我真的建议在单独的进程中使用jetty并使用热部署,而不是从maven中启动它,而是作为/etc/init.d中的真实服务器。然后,您可以使用外部脚本轻松部署您的应用程序,可以在eclipse中激活,这将在jetty中对上下文进行热部署。
获取此配置需要时间,但它是我发现的最快,并且使用的内存比在eclipse中使用jetty少得多,并且远远少于使用tomcat。在码头上热部署也非常有趣。
你的构建周期看起来像
此致 斯特凡
答案 1 :(得分:1)
它与tomcat在src / main / webapp / WEB-INF / lib中查找这些类有关。你可以像这样在你的pom.xml中添加依赖插件。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>src/main/webapp/WEB-INF/lib</outputDirectory>
</configuration>
</plugin>
此插件会将所有pom依赖项复制到WEB-INF / lib,而tomcat可以在工作区外找到所有jar文件