使用gradle的库jar的java依赖关系

vqlkdk9b  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(374)

我正在使用gradle6.7并创建一个库项目,该项目被编译成一个jar,这个jar放在我自己的s3工件库中。
在我的项目中,我对其他工件有依赖关系,我使用实现依赖关系。
jar被创建(不是胖jar)并上传到s3存储库。
在另一个项目中,我通过将库作为实现依赖项来使用库时,我在库中使用的其他依赖项的noclassdef出现错误,这意味着在库中使用的依赖项找不到运行时。
我的问题是,创建一个胖jar是否是个好主意?我不认为其他库(例如springboot和其他库)正在使用胖jar,对吗?但是,当我将它们用作依赖项时,会在运行时找到其他依赖项。
这是否意味着在我的项目中为其他依赖项使用实现不是正确的方法?我要用别的东西吗?你能再多说一点什么是正确的方法吗?
谢谢您

w8ntj3qf

w8ntj3qf1#

查看gradle的java库插件。它是为这种情况而存在的。
如果库的依赖项需要向库的使用者公开,则可以使用 api 而不是 implementation . 插件文档中有一个很好的部分,可以用来帮助您确定何时将依赖项声明为 apiimplementation .

相关问题