我有一个带有几个依赖项的Maven工件。我想像平常一样发布内置在jar中的模块,但我也想使用maven shade插件发布一个带有依赖关系的jar。这个超级罐有不同的分类器。
这一切都运行正常,除非有人使用其分类器拉入超级jar,他们仍然获得原始的所有依赖,这是他们不需要的。
如何根据分类器排除某些依赖项?我尝试过使用配置文件,但我无法确定如何根据工件的分类器激活配置文件。
我知道我可以将超级罐作为一个完整的新工件进行排除,但这有点混乱,我希望有更好的解决方案吗?
答案 0 :(得分:1)
尝试optional依赖。您必须将uber jar工件的所有依赖项声明为true。
此外,您可能希望创建另一个工件,而不是使用分类器。你可以从mockito中调整它。请参阅mockito-core vs mockito-all。