maven-dependency-plugin 3.2.0仍下载Struts 1.3.8依赖的解决方案问询
解决maven-dependency-plugin额外下载Struts 1.3.8依赖的方案
这个问题是maven-dependency-plugin 3.2.0版本的隐性bug,官方公开的依赖列表虽标注已排除Struts,但实际存在遗漏的传递依赖路径,运行时仍会拉取相关文件,可通过以下三种方案解决:
- 方案1:升级插件到3.3.0及以上版本
这是成本最低的解决方案,3.3.0及之后的版本官方已彻底修复该依赖问题,无需额外配置即可避免Struts依赖被下载。 - 方案2:在插件配置中显式排除Struts依赖
如果必须使用3.2.0版本,可直接在maven-dependency-plugin的声明中添加排除规则,示例配置如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>3.2.0</version> <exclusions> <exclusion> <groupId>struts</groupId> <artifactId>struts</artifactId> </exclusion> </exclusions> <!-- 原有executions、configuration等配置保持不变 --> </plugin>
- 方案3:全局配置生效
如果需要在所有本地项目中生效,可在Maven的全局settings.xml中锁定maven-dependency-plugin的版本为3.3.0+,或者统一为该插件添加上述Struts排除规则。
验证方法
修改配置后清空测试用的本地repo目录,重新执行测试命令,检查目录下是否存在org/apache/struts相关路径即可确认是否生效。
内容的提问来源于stack exchange,提问作者TomStroemer
相关产品推荐
相关产品推荐

