我有一个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版本?
有没有办法避免这种情况?
答案 0 :(得分:2)
从项目资源管理器中,您可以右键单击pom.xml文件,然后选择
打开方式→Maven POM编辑器
然后选择Dependency Hierarchy
标签。所有显式声明的依赖项都将显示为顶级节点。您可以看到它们的所有传递依赖关系及其传递依赖关系等等。
找到要排除的文件后,可以右键单击工件,然后选择Exclude Maven Artifact
(并选择将其从项目中排除)。您可以通过选择pom.xml
标签转到您的pom文件。你应该看到一些像
<exclusions>
<exclusion>
<artifactId>...</artifactId>
<groupId>...</groupId>
</exclusion>
</exclusions>
在依赖于此工件的依赖项
中