簡體   English   中英

如何弄清楚為什么將某些javax.servlet依賴項添加到Maven項目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM