删除 Maven Pom 中的重复依赖项

Sei*_*3i8 4 linux windows netbeans notepad++ maven

我想删除 maven pom.xml 中的重复依赖项。

我想要多种工具 Linux、Notepad++、Netbeans、Intellij ......甚至......VIM 等的答案。

示例(我可以明显删除,但我想要搜索替换答案)

  `<dependency>
        <groupId>org.glassfish.jersey.core</groupId>
        <artifactId>jersey-server</artifactId>
        <version>2.7</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-servlet-core</artifactId>
        <version>2.7</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-jetty-http</artifactId>
        <version>2.7</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-moxy</artifactId>
        <version>2.7</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.containers</groupId>
        <artifactId>jersey-container-jetty-http</artifactId>
        <version>2.7</version>
    </dependency>`  
Run Code Online (Sandbox Code Playgroud)

请在本地写答案,如果删除链接可能会令人沮丧。谢谢。

小智 11

dependency:analyze-duplicate 分析 pom.xml 中的 和 标签并确定重复声明的依赖项。

mvn dependency:analyze-duplicate
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用mvn dependency:tree命令查找项目中的重复依赖项。

使用pom的<exclusions>标签 into<dependency>标签从 maven 项目中排除重复的依赖项。

<dependencies>
    <dependency>
      <groupId>test.ProjectX</groupId>
      <artifactId>ProjectX</artifactId>
      <version>2.0</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>  
          <groupId>test.ProjectY</groupId>
          <artifactId>ProjectY</artifactId>
        </exclusion>
      </exclusions> 
    </dependency>
  </dependencies>
Run Code Online (Sandbox Code Playgroud)


use*_*289 5

运行 mvn clean 它会告诉你重复的依赖项。然后删除它们。