我正在使用 gradle 6.7 并创建一个库项目,该项目被编译为一个 jar,该 jar 放置在我自己的 s3 工件存储库中。
在我的项目中,我对其他工件有依赖关系,并且我使用实现依赖关系。
创建 jar(不是 fat jar)并上传到 s3 存储库。
在另一个项目中,我通过将库作为实现依赖项获取它来使用我的库时,对于我在库中使用的其他依赖项,我收到错误 NoClassDef,这意味着没有找到我在库中使用的依赖项的运行时。
我的问题是,创建一个胖罐子是否是个好主意?我不认为其他库(例如 springboot 和其他库)正在使用胖罐子,对吧?但是,当我将它们用作依赖项时,会在运行时找到其他依赖项。
这是否意味着在我的项目中对其他依赖项使用实现不是正确的方法?我应该用别的东西吗?您能否就正确的方法多做一些贡献?
谢谢