如何传递地排除依赖项?
How can I exclude a dependency transitively?
我都关注了dependency:tree。
...
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.1.5.RELEASE:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO] | | \- net.minidev:json-smart:jar:2.3:test
[INFO] | | \- net.minidev:accessors-smart:jar:1.2:test
[INFO] | | \- org.ow2.asm:asm:jar:5.0.4:test
[INFO] | +- junit:junit:jar:4.12:test
...
我确实做到了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<exclusions>
<exclusion>
<groupId>junig</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
现在我看到了。
..
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.1.5.RELEASE:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO] | | \- net.minidev:json-smart:jar:2.3:test
[INFO] | | \- net.minidev:accessors-smart:jar:1.2:test
[INFO] | | \- org.ow2.asm:asm:jar:5.0.4:test
[INFO] | +- junit:junit:jar:4.12:test
有什么方法可以传递地排除特定工件吗?
你的方法很好,如果不行,肯定是打错了。
我遇到了类似的排除问题:
net.minidev:json-smart
依赖于 2.3 版中的安全问题。
您应该安装:Maven dependency helper intellij 插件,安装后您可以看到您的依赖项和它们的子依赖项,如下所示(我提到的在 pom 文件底部添加了一个新选项卡):
然后你可以看到你的依赖冲突,版本等等。
如果您右键单击每个依赖项,则可以排除特定的依赖项。
希望本文对您有所帮助。
我都关注了dependency:tree。
...
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.1.5.RELEASE:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO] | | \- net.minidev:json-smart:jar:2.3:test
[INFO] | | \- net.minidev:accessors-smart:jar:1.2:test
[INFO] | | \- org.ow2.asm:asm:jar:5.0.4:test
[INFO] | +- junit:junit:jar:4.12:test
...
我确实做到了。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<exclusions>
<exclusion>
<groupId>junig</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
现在我看到了。
..
[INFO] +- org.springframework.boot:spring-boot-starter-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test:jar:2.1.5.RELEASE:test
[INFO] | +- org.springframework.boot:spring-boot-test-autoconfigure:jar:2.1.5.RELEASE:test
[INFO] | +- com.jayway.jsonpath:json-path:jar:2.4.0:test
[INFO] | | \- net.minidev:json-smart:jar:2.3:test
[INFO] | | \- net.minidev:accessors-smart:jar:1.2:test
[INFO] | | \- org.ow2.asm:asm:jar:5.0.4:test
[INFO] | +- junit:junit:jar:4.12:test
有什么方法可以传递地排除特定工件吗?
你的方法很好,如果不行,肯定是打错了。
我遇到了类似的排除问题:
net.minidev:json-smart
依赖于 2.3 版中的安全问题。
您应该安装:Maven dependency helper intellij 插件,安装后您可以看到您的依赖项和它们的子依赖项,如下所示(我提到的在 pom 文件底部添加了一个新选项卡):
然后你可以看到你的依赖冲突,版本等等。 如果您右键单击每个依赖项,则可以排除特定的依赖项。
希望本文对您有所帮助。