我在学习maven scope的时候遇到了一个疑问。
如果项目中所有依赖项的作用域都是编译的,那么它们也会出现在它的jar中。所以,据说,对于任何其他项目,比如B,依赖于这个项目A,也会得到A的传递依赖。但是它们已经存在于项目A的jar中了吗?为什么要再次下载它们呢?
发布于 2019-04-02 20:49:39
它们不是“存在于罐子中”。jar的传递依赖项不会绑定到jar中,除非您显式地构建了一个胖jar,例如使用组装插件或阴影插件。
然而,胖jars并不意味着依赖于其他工件,它们只能独立运行。
对于ears和wars,情况是不同的(标准是捆绑所有东西),但是wars和ears并不是您所依赖的库。
https://stackoverflow.com/questions/55474411
复制相似问题