从Eclipse的插件启动Tomcat时,为什么忽略了Maven依赖的范围?

时间:2011-11-02 15:05:19

标签: java eclipse tomcat servlets maven

我正在使用Eclipse和Tomcat以及Maven插件开发Java webapp。

我的项目中有一个HTTPServlet,问题如下:如果我使用Maven来处理javax.servlet包依赖,编译就可以了,但是当我通过Tomcat Eclipse插件启动Tomcat时,会加载一个jar Tomcat即使它的范围在我的pom.xml中设置为“提供”:

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>

因此,当我尝试在浏览器上访问我的servlet时,我得到一个java.lang.ClassCastException:com.mypackage.HelloServlet不能转换为javax.servlet.Servlet。

我为我的开发找到的解决方案是提供用于编译的Tomcat库并从我的pom.xml中删除javax.servlet依赖项,但当然,当我使用Maven命令行工具时,编译失败。

知道为什么Tomcat / Maven插件忽略了我的pom.xml依赖的“提供”范围吗?

0 个答案:

没有答案