无法在Eclipse中启动Tomcat for MAven Project

时间:2011-08-11 13:21:49

标签: java maven

我无法在Eclipse中为maven项目启动Tomcat:

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher

启动tomcat时。

同样在eclipse之外工作(制作战争并在Tomcat中部署)

任何人都可以建议做什么吗?

2 个答案:

答案 0 :(得分:1)

我的回答稍微偏离主题但是如果我敢,我真的建议在单独的进程中使用jetty并使用热部署,而不是从maven中启动它,而是作为/etc/init.d中的真实服务器。然后,您可以使用外部脚本轻松部署您的应用程序,可以在eclipse中激活,这将在jetty中对上下文进行热部署。

获取此配置需要时间,但它是我发现的最快,并且使用的内存比在eclipse中使用jetty少得多,并且远远少于使用tomcat。在码头上热部署也非常有趣。

你的构建周期看起来像

  • 从eclipse编辑/保存
  • 通过maven从eclipse构建/打包(eclipse indigo是一种魅力)
  • 通过eclipse的外部工具脚本在jetty中部署您的应用程序。

此致  斯特凡

答案 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文件