[spring-projects/spring-boot]无法排除重新打包战争的依赖

2024-04-11 831 views
7

我正在使用 spring-boot-maven-plugin 将我的存档重新打包成可启动和可部署的 WAR 文件。这样做,我必须排除一些依赖项(在我的例子中是传递性的)。我尝试排除使用插件文档中提到的排除配置(https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/maven-plugin/examples/exclude-dependency.html)。但这不起作用。我配置排除的依赖项出现在生成的 WAR 文件中。

插件版本:2.1.2.RELEASE

不幸的是我没有要发布的代码片段。稍后我会尝试添加。这是一个已知的问题 ?

回答

7

@rvijayarajan“它不起作用”不是很有帮助。正如您自己所发现的,该链接描述了应该采取哪些措施来排除依赖项。如果这对您不起作用,我们将需要一个可以自己运行的示例。

9

@snicoll 我已经用我的用例创建了一个示例项目,并将其推送到 github 中。您可以查看此代码并执行“mvn clean install”来体验我提到的情况。

Github 示例项目 URL: https://github.com/rvijayarajan/spring-boot-maven-plugin-exclude-test

在此示例项目中,我排除了对 group 和 artifactId 的依赖关系,分别为 org.webjars 和 bootstrap。但我看到在生成的 spring-boot.war 中,排除的依赖项仍然存在。

如果我需要提供更多详细信息,请告诉我。谢谢。

5

谢谢你的样品。您是否注意到重新打包目标被调用了两次?请检查发行说明

不管怎样,这对于jar包装来说效果很好,但对于战争来说就不行了,所以我们必须调查那里出了什么问题。

1

在 2.0.8.RELEASE 中,排除也不适用于 WAR 打包。

9

@andrejleitner 我知道这一点。分行2.1.x已取代2.0.x分行。

5

谢谢@snicoll。

9

@snicoll 我有一个想法如何修复这个错误,你不介意我接受这个问题吗?

7

感谢您的报价。我还没有时间查看它,所以我很高兴查看 PR。

4

结束有利于 PR #15947

3

大家好,我是贡献者列表的新手,正在尝试学习。看到这个又重新打开了,有什么原因吗?

9

@logicatmidod 它被重新打开,因为它被关闭的 PR 被拒绝了。

6

@philwebb 有机会优先考虑这个吗?

2

@ilam-natarajan 它已经被分类为 2.3.x 中的错误,但恐怕我们还没有找到时间来修复它。

5

与 @filiphr 的关于 Gitter 的讨论提醒我,这也会影响基于Spring-Boot-Jar-Type清单头的启动器和注释处理器依赖项的自动排除。我认为这是因为它使用了与AbstractDependencyFilterMojo.