【发布时间】:2020-01-03 17:23:51
【问题描述】:
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 版本都容易受到命令注入的影响。有没有办法阻止这种情况发生?
编辑:根据下面的建议,我尝试包含一个排除项,但我认为这仅支持依赖项而不是插件。
<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>
【问题讨论】:
-
你可以从maven中排除依赖,看看这篇文章。 stackoverflow.com/questions/9119055/…
-
您能否使用
version标签指定您想要的确切版本? -
@JonathanDavidArndt 我正在这样做,但插件正在下载大约 10 个其他版本
-
对...这可能很棘手。特别是如果你有一个父 POM 或其他类似的东西......
-
我不会再担心这个了......即使 Maven 插件有漏洞,我也不会真正打扰,因为 Maven 只是一个构建工具。