3

我有一个带有几个依赖项的 Maven 工件。我想像往常一样发布内置到 jar 中的模块,但我也想使用 maven shade 插件发布一个包含其依赖项的 jar。这个 uber jar 有一个不同的分类器。

这一切都很好,除非有人使用它的分类器拉入 uber jar,他们仍然可以获得原始的所有依赖项,这是他们不需要的。

如何根据分类器排除某些依赖项?我尝试过使用配置文件,但我不知道如何根据工件的分类器激活配置文件。

我知道我可以将 uber jar 作为一个全新的工件进行排除,但这有点混乱,我希望有更好的解决方案?

4

1 回答 1

1

尝试可选依赖。您必须在 uber jar 工件的可选值中将所有依赖项声明为 true。

此外,您可能希望创建另一个工件,而不是使用分类器。您可以从 mockito 调整它。请参阅mockito-core 与 mockito-all

于 2013-06-15T02:15:57.493 回答