我有一个 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 版本?
有什么办法可以避免这种情况吗?
最佳答案
在项目资源管理器中,您可以右键单击 pom.xml 文件,然后选择
Open With → Maven POM Editor
然后选择依赖层次结构
选项卡。所有显式声明的依赖项都将显示为顶级节点。您可以看到它们所有的传递依赖项,以及它们的传递依赖项等等。
找到要排除的 Artifact 后,可以右键单击该 Artifact ,然后选择排除 Maven Artifact
(然后选择将其从项目中排除)。您可以通过选择 pom.xml
选项卡转到您的 pom 文件。你应该看到一些像
<exclusions>
<exclusion>
<artifactId>...</artifactId>
<groupId>...</groupId>
</exclusion>
</exclusions>
在依赖于此 Artifact 的依赖项中
关于java - 如何弄清楚为什么某些 javax.servlet 依赖项被添加到 Maven 项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29314336/