gpt4 book ai didi

java - Maven 安装同一依赖项的多个版本

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:54 25 4
gpt4 key购买 nike

Maven 插件(maven-compiler-plugin:3.8.1 和 maven-surefire-plugin:3.0.0-M3)在运行 mvn clean package 时似乎会下载同一依赖项(plexus-utils)的多个版本,即使我在依赖项中指定了最新版本的 plexus-utils 也是如此。这不会导致任何错误,但 3.0.16 之前的任何 plexus-utils 版本都容易受到命令注入(inject)的攻击。有什么办法可以阻止这种情况发生吗?

编辑:根据下面的建议,我尝试包含排除项,但我认为这仅支持依赖项,而不支持插件。

             <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
</exclusion>
</exclusions>
</plugin>

最佳答案

虽然您无法排除插件的依赖项(就像处理其他依赖项一样),但您可以指定将用于特定插件的确切版本。

如果您有父 POM 或任何其他链接的 POM,您可能需要将其添加到使用它的每个插件或依赖项中:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<dependencies>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.16</version>
</dependency>
</dependencies>
</plugin>

关于java - Maven 安装同一依赖项的多个版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59582768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com