[英]How to figure out why certain javax.servlet dependency is added to a maven project
我有一個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文件,然后選擇
打開方式→Maven POM編輯器
然后選擇“ Dependency Hierarchy
選項卡。 您所有明確聲明的依賴項都將顯示為頂級節點。 您可以查看其所有傳遞依存關系以及它們的傳遞依存關系,等等。
找到要排除的工件后,可以右鍵單擊工件,然后選擇“ Exclude Maven Artifact
(然后選擇將其從項目中排除)。 您可以通過選擇pom.xml
選項卡轉到pom文件。 你應該看到一些像
<exclusions>
<exclusion>
<artifactId>...</artifactId>
<groupId>...</groupId>
</exclusion>
</exclusions>
在依賴於此工件的依賴項中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.