如何弄清楚为什么某些javax.servlet依赖项被添加到maven项目中

时间:2015-03-28 06:22:09

标签: java eclipse maven servlets

我有一个Maven项目。这里我添加了以下依赖项

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>${javax.servlet.version}</version>
        <scope>provided</scope>
    </dependency>

{javax.servlet.version}的值为3.1.0

但是,当我查看Eclipse中的maven依赖项时,我看到添加了servlet-api-2.3.jar。由于这个原因,我无法构建我的项目,因为我无法使用方法HttpServletRequest.getPart(),它只能启动Servlet 3.0。

无论如何都要弄清楚为什么要添加2.3版本?

有没有办法避免这种情况?

1 个答案:

答案 0 :(得分:2)

从项目资源管理器中,您可以右键单击pom.xml文件,然后选择

  

打开方式→Maven POM编辑器

然后选择Dependency Hierarchy标签。所有显式声明的依赖项都将显示为顶级节点。您可以看到它们的所有传递依赖关系及其传递依赖关系等等。

找到要排除的文件后,可以右键单击工件,然后选择Exclude Maven Artifact(并选择将其从项目中排除)。您可以通过选择pom.xml标签转到您的pom文件。你应该看到一些像

<exclusions>
    <exclusion>
        <artifactId>...</artifactId>
        <groupId>...</groupId>
    </exclusion>
</exclusions>

在依赖于此工件的依赖项